新しいコンピューターを構成しました。 VS 2010と必要なすべてのコンポーネントをインストールし、その新しいコンピューターで実行中のプロジェクトを取得しました。
プロジェクトをコンパイルすると、VS2010が参照「Microsoft.VisualStudio.QualityTools.UnitTestFramework」を見つけることができないことがわかります。
このアセンブリは、Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\PublicAssembliesにあります。
しかし、VSはそれを見つけることができません。
使用済みプロジェクトはOKです。古いマシンでコンパイルできます!
編集:コンパイル中のエラー:エラーCS0234:タイプまたは名前空間名 'VisualStudio'が名前空間 'Microsoft'に存在しません(アセンブリ参照がありませんか?)
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9):警告MSB3245:この参照を解決できませんでした。アセンブリ "Microsoft.VisualStudio.QualityTools.UnitTestFramework、Version = 9.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a、processorArchitecture = MSIL"が見つかりませんでした。アセンブリがディスク上に存在することを確認してください。この参照がコードで必要な場合、コンパイルエラーが発生する可能性があります。
これを解決済みとしてマークするのを忘れてください:私がしたこと:
すべての更新を含むVS2008およびVS2010のアンインストール-VS2008が完全にインストールされ、VS2010が完全にインストールされました。原因はまだ不明です!
私も同じ問題を抱えていました。
Old machine:
Windows XP, 32 bit
VS 2010 (32 bit)
New machine:
Windows 7, 64 bit
VS 2010 (32 bit)
Microsoft ... UnitTestFrameworkへの参照を削除し、ここにある新しい参照を追加するだけで解決しました。
C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
ターゲットの.NETFrameworkバージョンを変更する必要はありませんでした。
2003年のコードのアップグレードは、次の方法で解決されました。
C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
既存の「USING」ステートメントは変更なしで機能しました。 「Microsoft.VisualStudio.TestTools.UnitTestingを使用する;」
混合ソリューション構成でプロジェクトがX64プラットフォーム用にマークされていないことを確認します(ソリューションを右クリック->構成マネージャーオプション)。テストプロジェクトのプラットフォームをX64からAnyCPUに変更した後、アセンブリが認識され、機能しました。
.DotNet4 Framework4クライアントプロファイルの代わりに.DotNet4Framework 4に対してコンパイルすると、問題が解決する場合もあります。
解決策はありません。ヒントがいくつかあります。
// using Microsoft.VisualStudio.QualityTools.UnitTestFramework
// Path: %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
また、バージョンを確認する必要があります。今では2つあります(10.1.0.0と10.0.0.0)。間違っているとそのようなエラーが発生します。#
Unityフレームワークのすべてのバージョンは、Codeplexにあります。 nity.codeplaex.com
私も同じ問題を抱えていました。ユニットテストdll用に自動的に生成された設定ファイルが原因でしたが、気づきませんでした。 app.cfg-ファイルの内容は次のとおりです。
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.QualityTools.UnitTestFramework" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.1.0.0" newVersion="10.1.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
そのapp.cfgファイルを削除したところ、他の変更を加えることなくすべてが正常に機能しました。
問題は、VS2010 SP1がインストールされているマシンで作成されたプロジェクトがあり、VS2010(SPなし)がインストールされているマシンで実行されていることだと思います。最近、マシンを変更する必要があり、私のIS部門は、私が尋ねたように、VS2010を使用して新しいマシンにイメージをインストールしました。
コードをソース管理から削除すると、「アセンブリ "Microsoft.VisualStudio.QualityTools.UnitTestFramework"が見つかりませんでした」という理由で、突然単体テストを実行できなくなりました。
それから、古いマシンにSP1をインストールしたことを思い出しました。そこで、新しいマシンにVS2010 SP1をインストールすると、魔法のように問題が解決しました。
したがって、SP1をダウンロードしてインストールしてみてください
同じ問題が発生していましたが、参照でGACとして設定されていることがわかったので、これを削除してBINフォルダーに配置しました。一方のサーバーにある場合は問題ありませんでしたが、それはそのマシンに登録されており、もう一方のサーバーには登録されていないためです。
DotNet Framework2を対象とした古いプロジェクトでも同じ問題が発生しました。 DotNet Framework 3.5に更新すると、問題が解決しました。
私も同じ問題を抱えていました。プロジェクトのターゲットフレームワークを「.NetFramework4クライアントプロファイル」から「.NetFramework4」に変更する必要があります
それは私のために働いた。