9

asp.netプロジェクト(.net 2.0)があり、プロジェクトを.net4.0に変換しました。プロジェクトを正常にビルドした後、ブラウザでWebサイトを起動すると、次のようなエラーがスローされます。

コンパイルエラー

説明:このリクエストを処理するために必要なリソースのコンパイル中にエラーが発生しました。以下の特定のエラーの詳細を確認し、ソースコードを適切に変更してください。

コンパイラエラーメッセージ:BC30560:'ExtensionAttribute'は名前空間'System.Runtime.CompilerServices'であいまいです。

ソースエラー:

[関連するソース行はありません]

ソースファイル:InternalXmlHelper.vb行:9

.......。

それを修正するためのアイデアを教えてください。

4

7 に答える 7

7

.NET 2 で C# 3 (またはそれ以降) コンパイラを使用して拡張メソッド (LINQ など) を使用する一般的な方法は、適切な名前空間で独自の ExtensionAttribute を定義することでした。

新しいバージョンの .NET にアップグレードしたので、この冗長な余分な属性を削除する必要があります。コード内で定義されている場所を見つけて消去します。また、LINQBridge などの外部ライブラリも確認してください。これはもう必要ありません。

これを見つける 1 つの方法は、オブジェクト ブラウザを使用して ExtensionAttribute を検索することです。

于 2012-08-24T07:58:19.277 に答える
5

これが私が問題を見つけた方法でした。

確認するもう 1 つの簡単な方法: コード内で、クラスを一時的にどこかで使用します。例:

System.Runtime.CompilerServices.ExtensionAttribute x = null;

ビルド時に、これによりエラーが発生します。

タイプ

「System.Runtime.CompilerServices.ExtensionAttribute」は「c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll」の両方に存在します

と .....

そして、競合の原因となっている 2 つのソースをすぐに表示します。

于 2016-01-07T18:11:15.243 に答える
2

これとまったく同じエラーが発生しましたが、それを解決したのは、テーマ (App_Themes の下) を削除することでした。テーマを再追加してまだ機能するかどうかを確認していませんが、少なくともそれを削除するとエラーが修正されました.

エラーのコンパイラの詳細を見て、コンパイルしていた唯一の.vbファイルがテーマに関連していたことに注意してください(自動生成)。私のプロジェクトはすべて C# なので、VB からのエラーで .vb ファイルを探す必要がありました。

于 2013-05-23T15:47:16.203 に答える