2014-01-15 7 views
5

私の会社の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はリファレンスが既に存在していると訴えて、再度追加することができませんでした。

何がありますか?

+2

参照を削除してから参照を追加してみてください –

+0

この問題は、NuGetからインストールされたアイテムでも発生する可能性があります。パッケージをアンインストールして再インストールすると、エラーが修正されます。 – CodyF

+0

私は当時NuGetを使用していませんでしたが、それは知って良いです。 – Brandon

答えて

11

ここで起こったことはほとんどありません。Visual Studioは何が起こっていたのか忘れてしまいました。なぜなら、現実の理由で.dllを探す場所を知らなかったからです。なぜ私はリリースの設定で起こったのかわからないが、私は参照を削除し、それを再追加し、すべてがうまくて良いです。

+1

私のプロジェクトで同じ問題が発生しました。これはそれを修正したものでした。ありがとうございました! –

+0

3時間のお時間をいただきありがとうございました。 – dellyjm

関連する問題