当前位置: 首页 > 知识库问答 >
问题:

找不到路径的一部分。..bin\roslyn\csc.exe

梁存
2023-03-14

我正在尝试运行从TFS源代码管理中检索的ASP.NET MVC项目。我已经添加了所有程序集引用,并且能够在没有任何错误或警告的情况下成功构建和编译。

但我在浏览器中得到以下错误:

找不到路径“C:\b8AKWorkspace\b8AKProject\b8AKSolution\b8AK.portal\bin\Roslyn\csc.exe”的一部分。

这里是错误页面的完整截图。

经过几天的研究,我了解到Roslyn是提供高级编译功能的.NET编译器平台。但是,我不明白为什么我的构建试图查找\bin\Roslyn\csc.exe,因为我没有配置任何与Roslyn相关的内容,也不打算在我的项目中使用Roslyn。

共有1个答案

康文昌
2023-03-14

TL;博士

在包管理器控制台中运行以下内容:

更新-包Microsoft.codedom.providers.dotnetCompilerPlatform-r

此问题与Visual Studio本身无关,因此建议添加生成步骤以复制文件的答案是一种解决方法。将编译器二进制文件手动添加到项目中也是如此。

Roslyn编译器来自一个NuGet包,在该包的某些版本中存在/曾经有一个bug(我不知道具体是哪一个)。解决方案是重新安装/升级该包到无bug版本。最初,在我2015年写答案之前,我通过在特定版本上安装以下包来修复它:

  • Microsoft.Net.Compilers 1.1.1
  • Microsoft.codedom.providers.dotNetCompilerPlatform 1.0.1

然后我查看了。csproj,并确保tags 中名称为“fortherenugetpackageBuildimports”的底部标记中的包路径是正确的(在我的例子中是..\..\packages\*.*)。这是在MVC5和。NET Framework 4.5.2上。

 类似资料:
  • 我最近将新的.NET编译器NuGet包(Microsoft.codedom.providers.dotNetCompilerPlatfor)添加到一个现有的旧的MVC.NET网站中。现在,当我试图发布网站时,我得到以下异常: 发布输出: 关于如何解决这个问题有什么想法吗?

  • 我正在尝试让MS Bot builder示例在mac上运行,使用VS Preview。每次尝试运行应用程序时,我都会得到一个错误500,并且:

  • 在Visual Studio 2017中,当点击<kbd>Ctrl</kbd><kbd<F5</kbd>运行我的ASP时。NET Framework Web API服务器,我得到: 在包管理器控制台中运行并不是永久的修复,因为当包文件丢失时,服务器错误会再次出现。我如何一劳永逸地摆脱此错误,以便在我重新打开、构建和运行我的Visual Studio解决方案时自动(默默地)重新安装所需的包? 重现错

  • 在Visual Studio 2017中,当单击Ctrl+F5运行我的ASP.NET Framework Web API服务器时,我会得到: 找不到文件...bin\Roslyn\csc.exe: 在包管理器控制台中运行并不是永久性的修复,因为当包文件丢失时,服务器错误会再次出现。如何才能一劳永逸地消除此错误,以便在重新打开、生成和运行Visual Studio解决方案时立即自动(以静默方式)重新

  • 我们最近从旧的CodeDom提供者升级到名为Microsoft. CodeDom.提供者. DotNetCompiler平台的新Roslyn CodeDom提供者。它工作正常,但它在错误的位置查找csc.exe。Nuget包将exe放在路径中: [应用程序路径]\bin\Debug\roslyn 但是,当我们编译时,我们得到这个错误:找不到路径“[App Path]\ bin \ Debug \

  • 当我尝试在Visual Studio 2013上调试应用程序时引发此错误。 这是堆栈跟踪。 [UnauthorizedAccessException:对路径“D:\ Chart \ ASPNET CanvasJS Chart Samples \ ASPNET MVC Samples \ bin \ roslyn \ CSC . exe”的访问被拒绝。]system . io . _ _错误。Win