当前位置:  开发笔记 > 后端 > 正文

在生产环境中设置NSASS?

如何解决《在生产环境中设置NSASS?》经验,为你挑选了1个好方法。

我们正在使用NSASS将Sass文件编译为css(https://github.com/TBAPI-0KA/NSass)。NSASS建立并在开发环境中运作良好。但是,当我们尝试将其部署到我们的测试服务器时,我们无法启动并运行NSASS。

我们不断

Exception information: 
Exception type: FileNotFoundException 
Exception message: Could not load file or assembly 'NSass.Wrapper.x64.dll' or one of its dependencies. The specified module could not be found.
   at NSass.SassCompiler..ctor()
   at NSass.SassHandler..ctor()

问题在于NSASS使用某种动态方式来加载这些dll,这似乎不起作用。该dll位于\ bin \ NSass.Wrapper中,但fuslogvw记录它仅尝试搜索bin目录。如果我正确理解的话,可以通过动态方式加载此dll,以便根据操作系统加载x86或x64。

对于NSASS的bin加载代码:https : //github.com/TBAPI-0KA/NSass/blob/master/NSass.Core/AssemblyResolver.cs

我曾尝试将dll文件(X64和x86)移动到bin文件夹,但是即使fuslogvw表示一切正常,在事件查看器中也会出现相同的错误。

任何人都对我下一步可以解决的建议有什么建议?

编辑:尝试记录AppDomain.CurrentDomain.SetupInformation.PrivateBinPath,它指向bin文件夹,而AppDomain.CurrentDomain.BaseDirectory也指向正确的文件夹。不确定是否有任何更改从我登录的Application_Start更改CurrentDomain,直到NSASS文件的程序集加载。

还值得注意。这是一个EPiServer网站,因此不确定EPiServer是否进行了任何更改。但是,如果是这样的话,那么在开发环境中也不会出现问题吗?



1> JohanSellber..:

我终于找到了问题!

使用DependencyWalker分析NSASS的dll后,我发现服务器没有正确版本的C ++ Redistriburable。

因此,安装后一切正常!

希望这对其他人也有帮助。


作品!对我来说,它需要** [2012年版本](http://www.microsoft.com/zh-cn/download/details.aspx?id=30679)**,所以我建议每个人都从尝试开始。如果仍然无法使用,请尝试安装所有其他版本,例如2010和2013 **,或使用免费的[DependencyWalker](http://www.dependencywalker.com/)工具**,然后打开NSass.Wrapper。该工具中的x64.dll。我从这最后的手段开始,我并不失望。谢谢@swippen :)
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有