私の会社のCIサーバーを設定してユニットテストを統合しています。私はTeamCityとNUnitを使用することを選択しました。これまで私が働いていた他の組織ではうまくいきました。.dllリファレンスがデバッグモードでC#プロジェクトに正しく読み込まれていますが、リリースで名前空間が見つかりません
私はTeamCityを起動して実行しています。私はTeamCityがNUnit設定を正しく処理していることを確認できるように、単体テストテストプロジェクトを作成しました。私のプロジェクトでは、私のソリューションのルートにあるフォルダにあるnunit.framework.dllのリファレンスを追加しました。私がテストするために解決策を犯した場合、これは私がチームシティーで私のビルドステップから得た出力された:
[10:45:35][Csc] UnitTesting.cs(5, 7): error CS0246: The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?)
[10:45:35][Csc] UnitTesting.cs(16, 10): error CS0246: The type or namespace name 'Test' could not be found (are you missing a using directive or an assembly reference?)
[10:45:35][Csc] UnitTesting.cs(16, 10): error CS0246: The type or namespace name 'TestAttribute' could not be found (are you missing a using directive or an assembly reference?)
[10:45:35][Csc] UnitTesting.cs(13, 6): error CS0246: The type or namespace name 'TestFixture' could not be found (are you missing a using directive or an assembly reference?)
[10:45:35][Csc] UnitTesting.cs(13, 6): error CS0246: The type or namespace name 'TestFixtureAttribute' could not be found (are you missing a using directive or an assembly reference?)
私は私のIDEに戻って行きました、私はそれらのエラーメッセージを表示せずにソリューションを構築することができました。 Release configに切り替えるまでは。 configを切り替えてソリューションをビルドするとすぐに、TeamCityから取得したものと同じメッセージがIDEに表示されます。
私のプロジェクトにもう一度.dllファイルを追加しようとしましたが、Visual Studioはリファレンスが既に存在していると訴えて、再度追加することができませんでした。
何がありますか?
参照を削除してから参照を追加してみてください –
この問題は、NuGetからインストールされたアイテムでも発生する可能性があります。パッケージをアンインストールして再インストールすると、エラーが修正されます。 – CodyF
私は当時NuGetを使用していませんでしたが、それは知って良いです。 – Brandon