【发布时间】:2014-04-07 09:31:21
【问题描述】:
我们正在使用 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 是否有任何改变。但是如果是这样的话,Dev 环境中不应该也有问题吗?
【问题讨论】:
标签: dll sass assemblies fuslogvw