发布:找不到路径的一部分……\obj\DEV\AspnetCompileMerge\Source\bin\roslyn\csc.exe'

Publish: Could not find a part of the path … \obj\DEV\AspnetCompileMerge\Source\bin\roslyn\csc.exe'

我最近将新的 .NET 编译器 NuGet 包 (Microsoft.CodeDom.Providers.DotNetCompilerPlatfor) 添加到现有的旧 MVC.NET 网站。现在尝试发布网站时出现以下异常:

Could not find a part of the path … \obj\DEV\AspnetCompileMerge\Source\bin\roslyn\csc.exe'

我已经尝试了中提到的所有方法,但没有任何效果。毕竟,这是一个稍微不同的问题。 post 中提到的问题是构建异常,我的解决方案在本地构建良好。卸载 NuGet 包是可行的,但这并不是真正的解决方案。

这个问题和一个基本一样,但是也没有解决办法。

发布输出:

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'.

关于如何解决这个问题有什么想法吗?

这是一个 known issue,Roslyn 二进制文件没有被正确复制到发布目录。如果安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.7.

应该会修复

似乎有一些遗留问题正在tracked here

将 MVC .NET 应用程序发布到我的本地路径时,我遇到了同样的问题。我通过 nuget package.

解决了删除 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 的问题