[英]Importing NuGet references through a local project reference
假設我有一個“主要”C#項目,它使用NuGet來管理其第三方依賴項。
現在讓我說我在主項目旁邊創建一個單元測試項目,其中包括主項目作為參考。
不幸的是,似乎我需要在主項目中重新添加通過nuget包含的依賴項,以便使用它們為單元測試項目中的單元測試編寫代碼。
我的問題是:有沒有辦法在測試項目中自動包含“主要”nuget引用?
似乎我需要在主項目中重新添加通過nuget包含的依賴項,以便使用它們為單元測試項目中的單元測試編寫代碼。
這是因為Visual Studio / MSBuild試圖變得聰明並且僅將引用引入項目單元測試,它檢測到項目“main”需要它。 這樣做是為了避免項目單元測試中的間接參考污染 。 您可以參考接受的答案以獲取更多詳細信息。
我的問題是:有沒有辦法在測試項目中自動包含“主要”nuget引用?
簡單的答案是肯定的 ,但不確定這種方法對您是否有效。 我在這里發布,希望它可以給你一些幫助。
您可以將要添加到UI測試的包列表從“main”項目中的package.config 復制到UI測試項目中的package.config ,如:
<package id="EntityFramework" version="6.1.3" targetFramework="net452" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" />
<package id="NUnit" version="3.7.1" targetFramework="net452" />
然后nuget將在構建UI測試時恢復這些包,您需要做的是使用Package Manager控制台中的NuGet命令行:
Update-Package -Reinstall -ProjectName [name of your target project]
強制將包引用重新安裝到UI測試項目中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.