您的位置:首页 > 其它

未能找到 CodeDom 提供程序类型

2016-05-19 10:49 253 查看
今天我的程序遇到了一个问题,导致程序无法启动了:

未能找到
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. 可以看到这一行:

<Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')"
/>

4. 删除包含此文本的一行。

5. 删除后保存,重新启动此项目。

然后我再次启动这个项目,问题就解决了。

原因我不清楚。

后续查询:

http://stackoverflow.com/questions/33319675/the-codedom-provider-type-microsoft-codedom-providers-dotnetcompilerplatform-cs

里面提到:因为DotNetCompilerPlatform库的版本不同,需要搜索最新的DotNetCompilerPlatform库,然后重新安装,问题就可以解决。

因为没有试过,所以不确定是否可以。留给后续的网友继续探究了。

喜欢的点个赞,有建议的留个言,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: