1

Win8 ボックスで Visual Studio 2012 RTM を使用しています。私の VS2012 は D: パーティションにインストールされます。

CodedUI テスト プロジェクトを作成しています。このプロジェクトはもともと VS2010 で作成され、VS2012 でアップグレードしました。

プロジェクトでバージョン 11.0 の CodedUITestFramework dll を参照しています。

*.csproj ファイルには、次のように書かれています。

 <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework,
 Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
 processorArchitecture=MSIL" />

プロジェクトが正常にビルドされました。しかし、ILDasm を使用してアセンブリ DLL をチェックすると、マニフェストに次のように表示されます。

.assembly extern Microsoft.VisualStudio.QualityTools.CodedUITestFramework
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
  .ver 10:0:0:0    <======Should be 11:0:0:0 here!!
}

そして、テスト プロジェクトは正常にビルドされますが、次のエラーが Windows イベントログに記録されることに気付きました。

(vstest.discoveryengine.x86.exe、PID 8056、スレッド 9) アセンブリを列挙するときに例外がスローされる: Microsoft.VisualStudio.TestTools.Exceptions.EqtDataException: テスト コンテナー 'e:\test.dll' またはその依存関係の 1 つを読み込めません. エラーの詳細: System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

しかし、VS2010 もインストールしていません。10.0.0.0 バージョンの DLL はどこにありますか?

これが VS2012 のバグであるとしたら、あまりにも憂鬱です。それは私を夢中にさせています。

問題が Microsoft Connect で作成されました:

https://connect.microsoft.com/VisualStudio/feedback/details/758629/add-dll-reference-bugs-in-visual-studio-2012-version-11-0-50727-1-rtmrel

同じ問題に直面している団体はありますか??

4

4 に答える 4

2

UIMap.uitest の下の UIMap.Designer.cs を調べると、10.0.* でビルドされていることがわかります。

// ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by coded UI test builder.
//      Version: 10.0.0.0

...

[GeneratedCode("Coded UITest Builder", "10.0.40219.1")]

作成した各 uitest に対して codedUI テスト ビルダーを実行し、UI アクションを生成するか、既存のものを置き換えます。これにより、正しいバージョンの新しい UIMap.Designer.cs ファイルが自動生成されます。

// ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by coded UI test builder.
//      Version: 11.0.0.0

...

[GeneratedCode("Coded UITest Builder", "11.0.50727.1")]
于 2012-10-18T17:15:29.003 に答える
0

アレックスの解決策は間違っています。

単純な解決策は、古い参照を現在のバージョンのdllに置き換えることです

于 2014-01-20T14:43:52.977 に答える
0

上記のエラーが発生する理由の 1 つは、自動化プロジェクトのすべてのファイルを含むフォルダーにスペースを入れて名前を付けた可能性があるためです。フォルダに「Test User」という名前を付けたとします。この場合、上記のエラーが発生します。これを解決するには、ファイル -> ソース管理 -> ワークスペースで VSTS のローカル パスを変更してこれらのフォルダーを移動し、ワークスペースを選択して (コンピューター名と一致する必要があります)、[編集] をクリックします。マシンに新しいフォルダー (フォルダー名にスペースなし) を作成し、ここにマップします。

于 2013-01-22T10:26:14.787 に答える