Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#dll microsoft dll异常_C#_Exception_Dll - Fatal编程技术网

c#dll microsoft dll异常

c#dll microsoft dll异常,c#,exception,dll,C#,Exception,Dll,我刚刚在我的项目中添加了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:\U

我刚刚在我的项目中添加了
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);
    }
错误是

类型为“System.TypeInitializationException”的未处理异常 发生在Microsoft.VisualStudio.TestTools.UITesting.dll中

其他信息:的类型初始值设定项 '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,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a'或 它的一个依赖项。系统找不到指定的文件。
在 Microsoft.VisualStudio.TestTools.UITest.Extension.UITestUtilities..cctor() ---内部异常堆栈跟踪结束---位于Microsoft.VisualStudio.TestTools.UITest.Extension.UITestUtilities.CheckForNull(对象 参数,字符串parameterName)位于 Microsoft.VisualStudio.TestTools.UITesting.ImageComparer.CompareInternal(图像 实际图像、预期图像、色差参数公差、, 图像和diffImage,布尔createOutImage)位于 Microsoft.VisualStudio.TestTools.UITesting.ImageComparer.Compare(图像 实际图像、预期图像、色差参数公差)位于 Microsoft.VisualStudio.TestTools.UITesting.ImageComparer.Compare(图像 实现图像,图像预期图像)位于 WindowsFormsApplication4.Form1.Form1\u加载(对象发送方,事件参数e) 在c:\Users\itapi\OneDrive\??\Visual Studio中 2013\Projects\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs:line 三十

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

这完全是意料之中的事。此程序集只能在Visual Studio中使用。它位于C:\Program Files(x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateSassemblies目录中,您的Winforms应用程序无法访问它。CLR永远也找不到它

Microsoft.VisualStudio.TestTools.UITesting.dll程序集也是如此,但您在bin\Debug目录中获得了一个副本,因为您引用了它

这些程序集仅用于创建单元测试,即使用“测试”>“运行”菜单项运行的单元测试。MSDN操作指南文章,用于创建编码的UI测试


可以使用复制缺少的程序集。但是使用集成单元测试功能当然是最好的,也是唯一一种可以在更新VS版本时获得最低限度保证的方法。

这个问题让我困惑。为什么要关注异常而不是问题?您似乎想要比较图像。为什么不问问如何比较图像?快速搜索将产生许多结果,如。我搜索了
c#compare image
,这是第10个链接。之前的其他人也有承诺。您想要什么结果为真/假、百分比匹配、仅图像和exif数据不匹配确定、其他


另外,当我查看的文档时,签名与此问题中的示例代码不同。文档在这方面的使用似乎很差,是否应该像其他人所讨论的那样从Visual Studio内部使用它。

内部异常是什么?@您的意思是什么?在try catch和inside catch块中添加代码以获取内部异常。如果捕获异常或使用调试器(请注意)您可以看到有一个内部异常。是什么?该程序集存储在C:\Program Files(x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateSassemblies目录中。离你发现它的地方不远。由于强调“私有”,它只能从VisualStudio本身使用。我想你可以复制它来解决你的问题。不要期望你的测试代码能够很好地移植到未来的VS版本中。Hans,你说得很有道理,这个解释对我很有用。我正在使用Selenium,Windows应用程序驱动程序,当我收到错误时,我正在按照下面的链接将测试用例链接到TFS。我仍然不太明白为什么微软会认为使用这个dll编写代码的开发人员会知道这只是为了在VisualStudio中工作,但现在我知道该怎么做了。就我个人而言,我只是引用了DLL。我不太关心将来的版本,现在的版本可以工作。