我最近从Vista/32升级到Win7/64.在我的旧机器上,一切正常.
不幸的是,在我的新机器上,NUnit不会加载我的单元测试,错误消息"System.IO.FileNotFoundException:无法加载文件或程序集'UnitTest'或其依赖项之一.系统无法找到指定的文件".(实际上,我必须完成我所有解决方案的项目,并将它们设置为32位才能实现这一目标.)
所以我加载了Dependency Walker,它告诉我我错过了IESHIMS.DLL.我在我的机器上发现了两个,所以我从Internet Explorer目录中复制了32位版本,DW停止抱怨该文件.
但是,它也缺少GPSVC.DLL.我在C:\ Windows\System32中只发现了一个这样的副本,但当我将其复制到我的单元测试目录中时,DW抱怨它是64位,而NUnit仍然无法运行.它现在还将SYSNTFY.DLL添加到缺少的列表中.我只有其中一个,那也是64位.NUnit仍然报告错误.
那么我应该废弃这个64位操作系统并回到原来的32位,还是我错过了一些明显的东西?
使用 MS SQL Server,我在 XML 字段(称为XML)中获取了一些数据,其结构如下:
<Transaction01>
<TransactionSetPurpose>Insert</TransactionSetPurpose>
<POHeader>
<PO_NBR>LG40016181</PO_NBR>
</POHeader>
</Transaction01>
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个 SQL 查询来获取另一个名为 SubmittedDate 的列,以及此 XML 字段中的 PO_NBR。作为 XPath 的新手,我阅读了大量示例并尝试了query和value,但还没有成功。例如:
SELECT SubmittedDate,
XML.query('data(/POHeader/PO_NBR)') as PO_NBR
FROM SubmitXML
Run Code Online (Sandbox Code Playgroud)
这只是给了我一个空列。在从 Quassnoi 获得工作测试后,我从他的 XML 开始工作,发现问题出在根节点中的 xmlns 和 xmlns:i 属性:
<Transaction01 xmlns="http://services.iesltd.com/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
Run Code Online (Sandbox Code Playgroud)
那么我该如何解决这个问题呢?