1

同じソリューション内の特定のアセンブリを指すInternalsVisibleToAttributeを設定したアセンブリがたくさんあります。残念ながら、指しているアセンブリにはストング名が付いているため、常に同じ公開キー トークンを AssemblyInfo.cs ファイルに何度も挿入する必要があります。C# にはプリコンパイラがないため、理想的にはこの冗長性を排除するにはどうすればよいでしょうか。

4

2 に答える 2

1

簡単なオプションがいくつかあります。

  1. AssemblyInfo.cs ファイルでリテラルの代わりに定数を使用します。
  2. 個々のプロジェクトにコピーするのではなく、リンクする共有ファイル (例: 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 に答える