私はそれが持つ可視可能な変化である知っている:だから私のテストプロジェクトは、クラスFoo
のためのテストを作成することができますいくつかの設定で、C#で別のアセンブリにすべての内部クラスを表示させることはできますか?
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("UnitTests")]
namespace Foobar
{
internal class Foo
{
//...
}
}
。問題は、私はたくさんの内部クラスを持っているので、それを汚したくないということです。assembly
という表現です。プロジェクト全体に対してこれを行う別の方法はInternalsVisibleTo("UnitTests")
ですか?
実際にソリューション内のすべてのプロジェクトを意味しましたか? @CodeCasterノートのように、 'InternalsVisibleTo()'属性は、属性を配置するプロジェクト内のすべての内部型に既に適用されています。ソリューション内のすべてのプロジェクトのすべての型に適用する場合は、属性ソリューションスペースの別のフォルダに別のファイルとして保存し、すべてのプロジェクトに間接参照として含めます。 –
私はこのソリューションに2つのプロジェクトを持っています.1つはUTestsで構成されています。そしてそれは@CodeCasterの解決策をうまく動作させます。この場合、最もシンプルなようです。あなたの言うことはおもしろいと思うけど、今はあまりにも多くのプロジェクトがありません。 お返事ありがとうございます! – Denr2