VS2015、VS2017自动生成roslyn的文件夹以及csc.exe

csc.exe代表C# 编译器,所以在需要项目nuget包引用”Microsoft.CodeDom.Providers.DotNetCompilerPlatform“以及”Microsoft.Net.Compilers“,然后在编译的时候,自动会在bin文件夹里生成roslyn文件夹,无需从别的项目拷贝,如果项目引用了那2个dll,而bin文件夹里又没有生成roslyn相关的文件,那运行项目会报错:未能找到路径“........\bin\roslyn\csc.exe”的一部分。

解决方案:

nuget包引用以上两个文件dll,生成一下项目,查看是否在bin文件夹里生成了roslyn文件夹,如果没有,则需要从别的项目里拷贝过来,放进去即可。

 

解决如何自动生成roslyn文件夹?

问题过程:由于配置TFS的自动化发布,一直不成功,然后就捣鼓项目,删除一些nuget里的无关的dll以及配置,不知道怎么的,就导致了无法咋bin文件夹生成roslyn,只能复制别的项目,郁闷?还原到历史版本,是可以生成此文件,那只能一步步查找问题了。

原因:原来我在项目类库 WebSite.csproj 里删除了相关配置,导致无法自动生成csc.exe。

解决方案:

用notepad++打开WebSite.csproj文件(记得签出文件并去掉只读属性),在Project属性里添加引用代码即可,如下:





 
  
   


 
    Debug
    AnyCPU
    
    
    2.0
    {A82547C1-503D-4D7E-9148-E8D44DF1461F}
    {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
.......

Project头部加入:


  
   

保存,重新编译一下项目看看,应该是可以自动化生成roslyn的文件夹以及csc.exe。

 

 

你可能感兴趣的:(C#)