c#dll microsoft dll异常

5 c# dll exception

我刚刚Microsoft.VisualStudio.TestTools.UITesting在我的项目中添加了参考,我尝试使用ImageComparer`类,但运行时遇到错误

 private void Form1_Load(object sender, EventArgs e)
    {
        Image a = Image.FromFile(@"C:\Users\itapi\Desktop\a.png");
        Image b = Image.FromFile(@"C:\Users\itapi\Desktop\b.png");
        ImageComparer.Compare(a,b);
    }
Run Code Online (Sandbox Code Playgroud)

错误是

Microsoft.VisualStudio.TestTools.UITesting.dll中发生未处理的"System.TypeInitializationException"类型的异常异常

附加信息:"Microsoft.VisualStudio.TestTools.UITest.Extension.UITestUtilities"的类型初始值设定项引发了异常.

有没有人知道这里有什么问题?

这是内心的失败

System.TypeInitializationException:'Microsoft.VisualStudio.TestTools.UITest.Extension.UITestUtilities'的类型初始值设定项引发异常.---> System.IO.FileNotFoundException:未能加载文件或程序集"Microsoft.VisualStudio.TestTools.UITest.WindowsStoreUtility,版本= 12.0.0.0,文化=中性公钥= b03f5f7f11d50a3a"或它的一个依赖.该系统找不到指定的文件.
在Microsoft.VisualStudio.TestTools.UITest.Extension.UITestUtilities..cctor()内异常堆栈跟踪---末尾在Microsoft.VisualStudio.TestTools.UITest.Extension.UITestUtilities.CheckForNull(对象参数,字符串parameterName)以在Microsoft.VisualStudio.TestTools.UITesting.ImageComparer.CompareInternal(图像actualImage,图像expectedImage,ColorDifference argbTolerance,图片和diffImage,布尔createOutImage)在Microsoft.VisualStudio.TestTools.UITesting.ImageComparer.Compare(图像actualImage,图像expectedImage,ColorDifference argbTolerance)在Microsoft.VisualStudio.TestTools.UITesting.ImageComparer.Compare(图像actualImage,图像expectedImage)在WindowsFormsApplication4.Form1.Form1_Load(对象发件人,EventArgs e)如C:\ Users \用户ITAPI\OneDrive\?????? \视觉Studio 2013\Projects\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs:第30行

Han*_*ant 9

无法加载文件或程序集'Microsoft.VisualStudio.TestTools.UITest.WindowsStoreUtility ...

这完全是预期的.此程序集仅用于 Visual Studio中使用.它存在于C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies目录中,远离Winforms应用程序.CLR永远不会找到它.

同样适用于Microsoft.VisualStudio.TestTools.UITesting.dll装配真的,但你在你的BIN\Debug目录下有一个副本,因为你引用它.

这些程序集仅用于创建单元测试,即使用"测试">"运行"菜单项运行的类型.在MSDN如何做的文章用于创建编码的UI测试是在这里.

您可以在后期构建事件中使用XCOPY复制缺少的程序集.但是使用集成单元测试功能当然是最好的,也是获得最小保证的唯一正确方法,即当您更新VS版本时,这仍然有效.