2015-04-15 42 views

回答

0

這是一個已知的問題libsassnet之一。基本上你需要引用正確的庫,32位或64位。在我們的項目中,我們引用了64位,因此項目需要在64位環境中編譯和運行。默認情況下IIS Express運行在32位(因爲VS.NET運行在32位),所以這就是爲什麼你會得到一個異常。

更好地創建一個IIS站點並使用它運行它,或者您可以將libsassnet的nuget引用修改爲32位版本。 PS:我們在azure部署中自動解決了這個問題,但仍在與libsassnet開發人員合作,在本地部署時解決此問題。

+0

您能詳細說明如何引用32位版本嗎?我剛剛下載了最新的Virto 2.x版本,當我部署到免費的Azure Web應用程序時,我將其託管,64位不是一個選項。我在nuget軟件包列表中看不到任何對libsass的引用。我最終發現我可以在部署後手動從bin文件夾中刪除libsass和LibSass.x64.dll文件,但我知道必須有更好的方法。我知道我必須失去一些明顯的東西。 – N1njaB0b

+0

最新版本已經有一個修復程序,根據所使用的環境自動引用正確的dll,不需要做任何事情。它現在在運行時完成,並且這兩個dll都包含在一個項目中。 – Woland

+0

它看起來應該像這樣工作。我看到了LibSassNetProxy,並且我在App_Data文件夾中看到了x64和x86 dll,但是當我部署到32位Azure站點時,仍然會收到「無法加載文件或程序集'LibSass.x64'或其中一個依賴關係「錯誤,儘管我解決方案中所有項目的平臺目標都設置爲x86。 – N1njaB0b

5

您可以在Visual Studio設置切換到64個IIS快遞:

工具>選項>項目和解決方案> Web項目>使用IIS快速的64位版本的網站和項目。

更新: 如果您在乾淨的Windows計算機上出現此錯誤,則必須安裝Visual C++ Redistributable Packages for Visual Studio 2013

我推薦安裝x86和x64軟件包。

+0

是的,這是我們的問題,但我們正在安裝2012年的redistribute軟件包,但在2013年構建解決方案,因此我們必須安裝2013軟件包。所以看起來包需要匹配構建版本。 – craigvl

相關問題