我有一個使用多個非DNX類庫的ASP.Net 5 MVC 6項目。這些庫通過dnu wrap包裝,並且所有工作都可以在IIS Express或自託管應用程序上找到。然而在IIS 8中顯示錯誤ASP.Net 5 IIS:無法解決以下依賴關係
無法解析的目標框架 「DNX,版本V4.5.1 =」下面的依賴關係:我的項目
的 列表當前運行目標框架:「DNX,版本V4.5.1 =(dnx451)」 版本:1.0.0-beta7-15532 類型:CLR 架構:64 操作系統名稱:Windows OS版本:6.3.9600.0
如果我使用dnx 4.6(我只是降級以查看它是否適用於4.5.1),則會出現同樣的錯誤。
然而,庫可在以下位置找到:爲approot \包\ 用正確的NuGet包結構(DNU發佈其打包)
那麼,如何幫助IIS找到我的庫?
重現步驟:
創建具有2個項目的解決方案:新ASP.Net MVC應用程序和通常的類庫(未封裝)
經由DNU裹類庫包裹
來自MVC的參考類庫
發佈web應用程序(如果從Visual Studio發佈ES無法正常工作,使用DNU發佈--runtime活動)
在IIS中創建網站,並將其指向
Update上發佈的Web應用程序的wwwroot文件夾: 原來,這問題不是在IIS本身,而是在DNX中。如果我發佈網站,然後通過Microsoft.AspNet.Server.WebListener運行它,我會得到相同的錯誤。看起來像dnu發佈不能正確使用包裝項目。
但是,運行Windows服務時情況並非如此。我有一個引用相同庫的控制檯應用程序(包),我使用--no-source發佈它,然後通過sc.exe將其作爲Windows服務安裝,並且它按預期工作。
您是否擁有彙編'DNX'版本4.5.1的DLL副本? – Luke
你是什麼意思?我擁有爲DNX 4.5.1構建的所有DLL,並且可以爲任何DNX版本構建。這不是第三方DLL,它只是類庫項目 – Vitaly