我正在尝试运行ASP。NET MVC(模型-视图-控制器)项目从TFS (Team Foundation Server)源代码控制检索。我已经添加了所有程序集引用,我能够成功地构建和编译,没有任何错误或警告。

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

找不到路径的一部分 “C: \ B8akWorkspace \ B8akProject \ B8akSolution \ B8AK.Portal \ bin \ roslyn \ csc.exe”。

以下是错误页面的完整截图。

经过几天的研究,我了解到Roslyn是一个提供高级编译特性的. net编译器平台。但是,我不明白为什么我的构建试图找到\bin\roslyn\csc.exe,因为我没有配置任何与roslyn相关的东西。我也没打算让罗斯林参与我的项目。


当前回答

很多答案都涉及到Nuget包和/或清理和重新加载你的项目。

如果您有WCF服务引用和无效端点,也可以得到此错误消息。确保您的端点是正确的,并在.config和从GUI配置服务引用时使用正确的端点更新服务配置。

其他回答

我在部署到的服务器上遇到了这个问题,并确定不需要

Microsoft.CodeDom.Providers.DotNetCompilerPlatform

所以,我通过nuget卸载了它,并删除了web配置中的引用。没有问题了。

我最初试图添加目标节点到.proj文件中提到的一些其他答案,但这只是导致另一个错误,msbuild无法复制页面文件。从我读到的内容来看,这似乎是一个漏洞。

重新启动Windows。

这是唯一的解决方案,工作后,我尝试重建,删除bin和重建的内容,重新启动Visual Studio。

这是c# /有多糟糕的另一个例子。NET构建工具。

我认为(在阅读了许多答案后),总的结论是,这个问题的原因和解决方案在很大程度上取决于设置和项目,所以如果一个答案不起作用,就尝试另一个。尝试非侵入性/破坏性的解决方案,如重新启动Visual Studio,重新启动,重建等,首先,在乱动NuGet包或重新安装开发工具之前。好运!

(注意:使用Visual Studio 2019,项目文件最初是在Visual Studio 2015中创建的。也许这有助于某人调查这个问题)

(编辑:这可能是由于安装/修改Visual Studio安装后没有重新启动或当安装程序提示重新启动时更新Visual Studio造成的吗?)

如果你正在添加ASPNETCOMPILER来编译MVC中的Razor视图,就像在这个StackOverflow问题中,然后改变PhysicalPath到Roslyn nuget包所在的地方(通常通过$CscToolPath变量指向):

<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(CscToolPath)" />

仅供参考……

截至2017年8月31日,升级到Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.7是有效的。

要做到这一点,可以采用以下简单的方法:

在系统的任何地方创建一个类似类型的新项目。构建它并将roslyn文件夹复制到bin目录。