0


0

ASP.Netアプリケーションでこの警告を解決する方法は?

asp.netアプリケーションのビルド中に警告として次のメッセージが表示されます。

_ 定義済みの型 'System.Runtime.CompilerServices.ExtensionAttribute’は、グローバルエイリアスの複数のアセンブリで定義されています。 「c:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5 \ System.Core.dll」の定義を使用 _

この警告を解決するにはどうすればよいですか?

2 Answer


0


MSDNから

_ _ Visual C#リファレンス:エラーと警告コンパイラ警告(レベル1)CS1685

エラーメッセージ定義済みの型 'System.type name’は、グローバルエイリアスの複数のアセンブリで定義されています。 'ファイル名’の定義を使用

このエラーは、System.int32などの定義済みのシステムタイプが2つのアセンブリで見つかった場合に発生します。 これが起こりうる1つの方法は、.NET Frameworkバージョン1.0と1.1を並行して実行しようとするなど、2つの異なる場所からmscorlibを参照している場合です。 _ _

これに基づいて、多くの場合に役立つように、アセンブリとその参照のリストを確認する必要があります。


0


_ したがって、最終的な解決策は、アセンブリの1つでInternalVisibleTo属性を使用することでした。 つまり、ExtensionAttributeは1つのアセンブリでのみ定義する必要があります。 http://msdn.microsoft.com/en-us/library/0tke9fxk.aspx [詳細はこちら]では、完全に単純ではないため、厳密な名前のアセンブリを使用する方法について説明しています。 _

関連質問:https://stackoverflow.com/questions/602927/c-compiler-warning-1685[C# Compiler Warning 1685]