2017-08-04 149 views
3

我最近添加了新的.NET編譯器NuGet包(Microsoft.CodeDom.Providers.DotNetCompilerPlatfor)到現有的舊版MVC.NET網站。現在嘗試發佈的網站,我得到下面的異常時:發佈:找不到路徑的一部分... obj DEV AspnetCompileMerge Source bin roslyn csc.exe'

找不到路徑的一部分... \ OBJ \ DEV \ AspnetCompileMerge \來源\ BIN \羅斯林\ CSC.EXE」

我已經試過在question中提到的所有內容,但沒有任何工作。畢竟,這是一個稍微不同的問題。在那篇文章中提到的問題是構建異常,我的解決方案在本地生成良好。卸載NuGet包可行,但這不是一個真正的解決方案。

這個問題基本上與this一樣,但那也沒有解決辦法。

發佈的輸出:

4>------ Publish started: Project: Jdn.ArticleCatalogue.Web, Configuration: DEV Any CPU ------ 
4>Connecting to \\vm-arcawebdev01\WEBSITES\ArticleCatalogue... 
4>Transformed Web.config using D:\DOTNET\Local\Logistics.Web\Portal\DEV\Application Projects\Article Catalogue\Jdn.ArticleCatalogue.Web\Web.DEV.config into obj\DEV\TransformWebConfig\transformed\Web.config. 
4>Copying all files to temporary location below for package/publish: 
4>obj\DEV\AspnetCompileMerge\Source. 
4>C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v/-p "D:\DOTNET\Local\Logistics.Web\Portal\DEV\Application Projects\Article Catalogue\Jdn.ArticleCatalogue.Web\obj\DEV\AspnetCompileMerge\Source" "D:\DOTNET\Local\Logistics.Web\Portal\DEV\Application Projects\Article Catalogue\Jdn.ArticleCatalogue.Web\obj\DEV\AspnetCompileMerge\TempBuildDir" -keyfile "..\..\..\Solution Items\Jdn.LogisticsPortal.snk" 
4>ASPNETCOMPILER(0,0): Error ASPRUNTIME: Could not find a part of the path 'D:\DOTNET\Local\Logistics.Web\Portal\DEV\Application Projects\Article Catalogue\Jdn.ArticleCatalogue.Web\obj\DEV\AspnetCompileMerge\Source\bin\roslyn\csc.exe'. 

如何解決這個任何想法?

+0

您是否在'bin'文件夾內發佈'roslyn'文件夾? –

+0

我正在使用Visual Studio Web項目的「發佈網站」功能進行構建。 – Schoof

+0

您在TFS中使用哪種構建,舊的XAML構建或新的vNext構建?你能分享詳細的MSBuild參數和更多相關的日誌嗎? –

回答

2

這是一個known issue,Roslyn二進制文件沒有被正確地複製到發佈目錄。如果你安裝了Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.7,它應該是固定的。

似乎有一些剩餘的問題是tracked here

+0

這確實解決了問題!謝謝:) – Schoof

+0

升級到'1.0.7',仍然無法正常工作。我相信我只是不喜歡Roslyn,已經2個小時試圖解決它。 – Alisson

相關問題