如果您有ASP.NET Web站點項目類型(沒有正確的.csproj或.vpproj項目文件並且這只是一個鬆散文件的文件夾),那麼當你使用NuGet添加一個包時,它會在Bin目錄中創建一個* .dll.refresh文件來引用父包文件夾中的包的dll。在ASP.NET中使用帶有* .dll.refresh文件的NuGet具有Web部署項目的「Web站點」項目
例如,如果您從包管理器控制檯執行「install-package elmah」,則將Elmah放置在項目解決方案目錄中的packages文件夾中,並將Elmah.dll.refresh文件放置在項目的Bin夾。
當我在本地構建項目時,Visual Studio會自動引入由刷新文件引用的DLL。該網站和Elmah正常運行。我沒有將項目的Bin目錄中的Elmah.dll文件簽入到源代碼管理中(僅檢查刷新文件和軟件包文件夾)。
但是,我正在使用Web部署項目預編譯站點併爲部署執行web.config替換。以這種方式構建解決方案時,Elmah.dll不會自動插入到網站項目Bin目錄中,並且由於缺少DLL,該站點無法正確運行。
NuGet打算如何在這種情況下使用?我想檢查Bin目錄中的Elmah.dll嗎?
這是經過測試並在Visual Studio中工作,並直接在構建機器中運行MSBuild。 – 2013-02-23 18:00:47