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