Dll 在生产环境中设置NSASS?

Dll 在生产环境中设置NSASS?,dll,sass,assemblies,fuslogvw,Dll,Sass,Assemblies,Fuslogvw,我们正在使用NSASS将我们的Sass文件编译为css()。NSASS是在开发环境中建立并运行良好的。但当我们试图将其部署到我们的testserver时,我们无法启动并运行NSASS 我们不断地 Exception information: Exception type: FileNotFoundException Exception message: Could not load file or assembly 'NSass.Wrapper.x64.dll' or one of its

我们正在使用NSASS将我们的Sass文件编译为css()。NSASS是在开发环境中建立并运行良好的。但当我们试图将其部署到我们的testserver时,我们无法启动并运行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的仓位装载代码:

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

有谁知道我下一步可以做些什么来解决这个问题吗

编辑: 已尝试记录AppDomain.CurrentDomain.SetupInformation.PrivateBinPath,它按原样指向bin文件夹,AppDomain.CurrentDomain.BaseDirectory也指向正确的文件夹。不确定在NSASS文件的程序集加载之前,CurrentDomain是否从我记录的应用程序\u开始发生任何更改


也值得注意。这是一个EPiServer web,因此不确定EPiServer是否更改了任何内容。但是如果是这样的话,开发环境中的问题不也是吗?

我终于找到了问题所在

使用NavigalWalk分析NSAS的DLL后,发现服务器没有正确的C++版本。 所以在安装后,所有的工作都很好


希望这能帮助其他人解决同样的问题。

我们也有同样的问题,但最终解决了两件事

> p>将VisualStudio 2013的VisualC++重新分配包安装到服务器上。

  • 使用将我们的编译器更改为libsass net,它似乎与NSass()非常相似


  • 谢谢你发布这个。它需要哪种版本的C++可重分发?谢谢你!对我来说,这是必须的,所以我建议大家从尝试开始。如果仍然无法使用,请尝试安装所有其他版本,如2010和2013,或者使用免费工具并在工具中打开NSass.Wrapper.x64.dll。我从最后一个办法开始,我没有失望。谢谢@swippen:)NSASS(至少我使用的版本)不需要2013。