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 を動的にロードする方法は、私の理解が正しければ、OS に応じて x86 または x64 をロードするように作られています。
NSASS のビン読み込みコード: 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 も正しいフォルダーを指しています。NSASS ファイルの Assembly Load までログに記録する Application_Start から CurrentDomain が変更されるかどうかはわかりません。
また、注目に値します。これは EPiServer Web であるため、EPiServer が何かを変更するかどうかはわかりません。でもそれだとDev環境にも問題があるのではないでしょうか?