Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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#DeploymentItem无法复制MSTest单元测试的文件_C#_Visual Studio_Mstest_Deploymentitem - Fatal编程技术网

C#DeploymentItem无法复制MSTest单元测试的文件

C#DeploymentItem无法复制MSTest单元测试的文件,c#,visual-studio,mstest,deploymentitem,C#,Visual Studio,Mstest,Deploymentitem,在MSTest单元测试中使用DeploymentItem属性时,我很难将XSL文件复制到与测试程序集相同的目录。我按照选择的答案进行操作,需要复制的文件的“复制到输出目录”设置为“始终复制”。当我检查ProjectDir\bin目录(目标目录)时,我想要复制的文件确实在那里,与DLL和PDB一起 我使用以下设置进行了几个单元测试: private const string DLL = "Service.dll"; private const string XSL_PATH = "transfor

在MSTest单元测试中使用
DeploymentItem
属性时,我很难将XSL文件复制到与测试程序集相同的目录。我按照选择的答案进行操作,需要复制的文件的“复制到输出目录”设置为“始终复制”。当我检查ProjectDir\bin目录(目标目录)时,我想要复制的文件确实在那里,与DLL和PDB一起

我使用以下设置进行了几个单元测试:

private const string DLL = "Service.dll";
private const string XSL_PATH = "transform.xsl";

[TestInitialize]
public void InitializeTest()
{
    Assert.IsTrue(File.Exists(DLL)); // passes
}

[TestMethod]
[DeploymentItem(DLL)]
[DeploymentItem(XSL_PATH)]
public void XmlToResultsTest()
{
    Assert.IsTrue(File.Exists(XSL_PATH)); // fails
}

XSL测试失败,因为当我检查MSTest的TestResults\specialrtestrun\Out目录时,我看到了DLL和PDB,但我的XSL文件不在那里。我想知道的是,为什么即使我明确告诉Visual Studio通过
DeploymentItem将XSL文件复制到那里,XSL文件也不会与DLL和PDB一起被复制?

由于我的一个相关问题,我尝试更新我的MSTest.testrunconfig文件,以便我的XSL文件包含在“部署”部分。这让我的单元测试通过了,但我仍然担心我必须这么做-
DeploymentItem
和在项目中标记文件属性以复制到输出目录的组合是否足够?

除非输出目录是一个文本字符串,否则VS2008部署项将以静默方式失败。Hmmm^ ^

我遇到了同样的问题,尽管我在部署项中使用了文本字符串。我甚至尝试将该文件添加到测试设置的“部署”部分,但也没有成功。原来问题与测试平台有关

我有一台64位机器,我正在测试的项目和单元测试项目的平台目标都是“任何CPU”


我发现只有在选择“在64位计算机上的64位进程中运行测试”时,部署项才会被复制。

我们在工作中遇到了类似的情况,即DeploymentItem属性未按预期工作。我们还使用64位计算机,project platform设置为“任意CPU”“。作为一种解决方法,我们将单元测试所需的文件作为单元测试项目的链接,并将其“复制到输出目录”设置为“始终复制”。

我也遇到了同样的问题Sarah-确实非常混乱!你的消息来源在哪里?如果那是真的,那就太疯狂了。我想要我的字符串常量,该死!不是我个人复制的东西,但我有一些部署问题,我在谷歌上搜索了一下,发现很多博客说他们的DeploymentItem有问题,例如:最后我选择了.testrunconfig文件中的全局部署文件夹。