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

Sar*_*els 10 c# mstest visual-studio deploymentitem

当我DeploymentItem在MSTest单元测试中使用该属性时,我无法将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
}
Run Code Online (Sandbox Code Playgroud)

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

Sar*_*els 10

感谢Marc Gravell对我的相关问题的回答,我尝试更新我的MSTest .testrunco​​nfig文件,以便我的XSL文件包含在"部署"部分中.这让我的单元测试通过,但我仍然感到不安,我必须这样做 - DeploymentItem我的项目中复制到输出目录的文件属性的组合和标记是否足够?