我最近将新的.NET编译器NuGet包(Microsoft.CodeDom.Providers.DotNetCompilerPlatfor)添加到现有的旧版MVC.NET网站。现在,在尝试发布网站时,我遇到以下异常:
无法找到路径的一部分...... \ 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 :(得分:6)
这是known issue,因此Roslyn二进制文件未正确复制到发布目录。如果您安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.7
,则应该修复此问题。
似乎存在一些遗留问题tracked here。
答案 1 :(得分:0)
在将MVC .NET应用程序发布到我的本地路径时,我遇到了同样的问题。我解决了通过nuget包删除 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 的问题。