man*_*phi 9 .net asp.net .net-4.0
我有asp.net项目(在.net 2.0中),我将项目转换为.net 4.0.在我成功构建项目之后,我在浏览器上启动了网站,它会抛出以下错误:
编译错误
描述:编译服务此请求所需的资源时发生错误.请查看以下特定错误详细信息并相应地修改源代码.
编译器错误消息:BC30560:'ExtensionAttribute'在命名空间'System.Runtime.CompilerServices'中不明确.
来源错误:
[没有相关的源代码行]
源文件:InternalXmlHelper.vb行:9
........
请给我一些想法来解决它.
在.NET 2中使用C#3(或更高版本)编译器的扩展方法(对于LINQ等)的一个常见技巧是在正确的命名空间中定义您自己的ExtensionAttribute.
现在您已升级到更高版本的.NET,您需要删除此现在冗余的额外属性.找到代码中定义的位置并将其删除.还要检查LINQBridge等外部库 - 你不再需要它了.
找到它的一种方法是使用对象浏览器并搜索ExtensionAttribute.
小智 5
这就是我发现问题的方法.
另一种简单的验证方法:在您的代码中,暂时在某处使用该类.例:
System.Runtime.CompilerServices.ExtensionAttribute x = null;
Run Code Online (Sandbox Code Playgroud)
构建时,这将产生错误:
类型
"System.Runtime.CompilerServices.ExtensionAttribute"存在于'c:\ Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll'中
和......
并立即向您显示导致冲突的两个来源.
| 归档时间: |
|
| 查看次数: |
6986 次 |
| 最近记录: |