簡體   English   中英

通過本地項目引用導入NuGet引用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM