【问题标题】:Publish: Could not find a part of the path … \obj\DEV\AspnetCompileMerge\Source\bin\roslyn\csc.exe'发布:找不到路径的一部分... \obj\DEV\AspnetCompileMerge\Source\bin\roslyn\csc.exe'
【发布时间】:2018-01-12 12:26:27
【问题描述】:

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

找不到路径的一部分…… \obj\DEV\AspnetCompileMerge\Source\bin\roslyn\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'.

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您是否在bin 文件夹中发布roslyn 文件夹?
  • 我正在使用 Visual Studio Web 项目的内置“发布网站”功能。
  • 您在 TFS 中使用的是哪个版本,旧的 XAML 版本还是新的 vNext 版本?您能否分享详细的 MSBuild Arguments 和更多相关日志?
  • @Patrick-MSFT:我不完全确定。我使用 Visual Studio Web 项目右键菜单的“发布”选项(请参阅:i.imgur.com/ThZLFtB.png)。您要查找哪些日志,我在哪里可以找到这些日志?我在最初的问题中包含了从 Visual Studio 生成的构建输出。
  • @Schoof 如果是这样,看起来您在本地遇到问题。它与 TFS 构建无关。建议您删除tfsbuild 标签并添加一些标签,例如msbuildNuget。由于没有安装新的 Nuget 包,所以一切正常。

标签: asp.net .net msbuild nuget roslyn


【解决方案1】:

将 MVC .NET 应用程序发布到我的本地路径时,我遇到了同样的问题。我通过 nuget 包解决了删除 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 的问题。

【讨论】:

    【解决方案2】:

    这是known issue,其中 Roslyn 二进制文件未正确复制到发布目录。如果你安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.7应该会修复。

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

    【讨论】:

    • 这确实解决了问题!谢谢你:)
    • 升级到1.0.7,还是不行。我相信我只是不喜欢 Roslyn,我花了 2 个小时来修复它。
    猜你喜欢
    • 2018-01-17
    • 2017-08-17
    • 1970-01-01
    • 2020-01-28
    • 2017-11-20
    • 1970-01-01
    • 2019-02-04
    • 2021-07-31
    • 1970-01-01
    相关资源
    最近更新 更多