今天我的程序遇到了一个问题,导致程序无法启动了:
未能找到 CodeDom提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。
在网上找了很多,基本上都是参考这个来写的:
未能找到 CodeDom提供程序类型“Microsoft.VJSharp.VJSharpCodeProvider
http://www.cnblogs.com/wangyt223/p/3587672.html
里面提到产生问题原因:
无论你有没有用到J#,网站目录下的任何.java格式的文件都会让编译器启动VJSharpCodeProvider,把.java格式的文件删除(或先移出网站目录)就可以了。
然后我搜索了我的项目,根本就没有.java格式的文件!!!
他里面报错是VJSharpCodeProvider,而我的是CSharpCodeProvider,难道我要把所有的.cs文件删除了???
不可能!
既然我不知道这个文件为什么报错,而且我也没有办法解决。那我就去掉这个文件的引用。
然后我按照下面的步骤处理:
1. 打开 我的项目.csproj为文本格式(需要提前备份)
2. 根据错误提示,查找“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”。
3. 可以看到这一行:
4. 删除包含此文本的一行。
5. 删除后保存,重新启动此项目。
然后我再次启动这个项目,问题就解决了。
原因我不清楚。
后续查询:
里面提到:因为DotNetCompilerPlatform库的版本不同,需要搜索最新的DotNetCompilerPlatform库,然后重新安装,问题就可以解决。
因为没有试过,所以不确定是否可以。留给后续的网友继续探究了。
喜欢的点个赞,有建议的留个言,谢谢!