同じソリューション内の特定のアセンブリを指すInternalsVisibleToAttributeを設定したアセンブリがたくさんあります。残念ながら、指しているアセンブリにはストング名が付いているため、常に同じ公開キー トークンを AssemblyInfo.cs ファイルに何度も挿入する必要があります。C# にはプリコンパイラがないため、理想的にはこの冗長性を排除するにはどうすればよいでしょうか。
2 に答える
1
簡単なオプションがいくつかあります。
- AssemblyInfo.cs ファイルでリテラルの代わりに定数を使用します。
- 個々のプロジェクトにコピーするのではなく、リンクする共有ファイル (例: CommonFriendAssemblies.cs) にこの属性を追加します。
#1 は管理がいくらか簡単ですが、参照元プロジェクトで参照される内部の IntelliSense サポートが削除されるという残念な副作用があります。
#2 は管理がやや複雑ですが、IntelliSense のサポートに干渉することはありません。
于 2010-09-27T13:43:31.970 に答える
0
多分あなたはt4を使うことができます
に名前AssemblyInfo.cs
を変更AssemblyInfo.tt
そして、このようなものを追加します
<#@ template language="C#v3.5" hostspecific="True" debug="True" #>
<#@ output extension="cs" #>
[assembly: InternalsVisibleTo("<# Write(System.Reflection.Assembly.GetExecutingAssembly().FullName); #>")]
于 2010-09-27T13:25:06.473 に答える