13
A
回答
17
每MSDN网页...
相对路径是相对于在 .testrunconfig文件中找到的 RelativePathRoot设置。
该设置默认为解决方案目录。所以,如果你有这样的项目结构
SecretProject\
ComponentA\
ComponentA.Test\
Resources\
required.xml
ComponentA.Test.csproj
Tests.cs
SecretProject.sln
而且要部署required.xml,你要创建一个DeploymentItemAttribute这样
[TestClass]
public class Tests
{
[TestMethod]
[DeploymentItem("ComponentA.Test\Resources\required.xml")]
public void Test()
{
}
}
看来属性需要的文件被设置为'内容'和'复制总是'或'如果更新复制'。在this MSDN page上有高级示例。
1
假设RelativePathRoot默认值是您的解决方案所在的目录不正确,我的.testrunconfig文件中也没有定义RelativePathRoot。我发现RelativePathRoot默认为解决方案的/ bin/debug目录。
从这一点开始走回头路,然后走到我正在尝试部署用于单元测试的文件时工作得很好。
0
所以我要添加我的经验。
所以,如果你使用.testrunconfig文件,这将胜过(覆盖)我在下面说的。
我觉得有几个选择。
相对于目前的.csproj
相对于的.sln
相对于当前.cs文件
我终于得到了我的构建系统通过使用“工作相对于当前的.cs文件“的方法。
在我的示例中,我需要为我的UnitTest复制另一个项目的Xsd。但是文件的类型并不重要。
实施例:
C:\ MyFolder文件\ MyXsdProject \的XSD \ MyCoolXsd.xsd
C:\ MyFolder文件\ MyCsharpUnitTestProject \ MySubFolder1 \ MySubFolder2 \ MyUnitTestClass。CS
namespace MyCsharpUnitTestProject.MySubFolder1.MySubFolder2
{
[TestClass]
[DeploymentItem(@"..\..\..\MyXsdProject\XSDs\MyCoolXsd.xsd")]
public class MyUnitTestClass
{
}
}
相关问题
- 1. 什么是绝对路径名和相对路径名
- 2. 什么决定了InstanceDir是全路径还是相对路径?
- 3. 什么是Scene#getStylesheets()中相对路径的路径起源?
- 4. 在WordPress Widget中使用相对URL - 相对路径是什么?
- 5. 为什么我的绝对路径工作,但我的相对路径不是?
- 6. 将相对路径转换为绝对路径的最佳方法是什么?
- 7. 检测路径是绝对路径还是相对路径
- 8. 检查路径是绝对路径还是相对路径
- 9. /和〜/相对路径有什么区别?
- 10. 什么是节点不相交路径?
- 11. Gulpfile到根目录的相对路径
- 12. 参考根的Tomcat servlet相对路径
- 13. 如何根据两个绝对路径获取相对路径?
- 14. 固定路径和相对路径有什么区别?
- 15. 为什么相对路径路径不显示HTML5字幕
- 16. 在cron中脚本的相对路径的语法是什么?
- 17. javax.jcr.RepositoryException:不是相对路径
- 18. ASP相对路径嵌套子根
- 19. LazyLoad与ASP.NET核心 - 相对根路径?
- 20. 什么是deps.json,以及如何使它使用相对路径?
- 21. os.path.isfile(file_path)当file_path是相对路径时返回false,为什么?
- 22. Gradle jar任务:什么是路径模式相对于?
- 23. 相对路径
- 24. 相对路径
- 25. 相对路径
- 26. 相对路径
- 27. 相对路径
- 28. 相对路径
- 29. 相对路径
- 30. 生成根路径而不是相对的gulp文件
“看来文件属性需要被设置为‘内容’和‘始终复制’或‘复制,如果新的’。”你会感到惊讶有多难找到这个... – SouthShoreAK
@SouthShoreAK - 它被发现在哪里? –
@ScottLangham它位于部署项目的File属性中。在'解决方案资源管理器'中,您需要突出显示该文件(在本例中为'required.xml'),右键单击它并选择属性。你应该在那里看到它。 – dpimente