![](/img/trans.png)
[英]Xamarin - Multi-targetting - “'System.ValueTuple`2' is declared in multiple referenced”
[英]Why does my .NET Standard 2.0 (multi-targetting) project has a warning on one of the dependent assemblies?
我有一個當前針對NetStandard1.4
的項目。
我正在嘗試使其成為多目標框架:
net461
netstandard14
netstandard20
合理的理由是針對特定框架(以應用為目標),僅下拉最小數量的程序集。 因此,在上面的示例中, ns14
的min框架為461
,但是針對net461
的應用程序會net461
一些核心內容,人們說這會在未使用這些程序集的情況下增加額外的噪音。
當我嘗試針對這三個框架時,在NetStandard2.0
版本中會收到一些警告。
我嘗試將鼠標懸停在Visual Studio中的該程序集上,但沒有工具提示顯示。 此外,錯誤列表或輸出(構建)窗口也沒有說明。
有什么方法可以查看警告是什么? 甚至可以通過CLI?
您正在引用.netStandard項目中的System.Net.Http
。 該引用已經存在於NetStandard.Library
,因此您無需添加它。 大多數時候,您應該只引用項目或NuGet包。
在我的計算機上, dotnet build
確實失敗,並顯示以下警告:
C:\\ Program Files \\ dotnet \\ sdk \\ 2.1.100-preview-007326 \\ Microsoft.Common.CurrentVersion.targets(2051,5):警告MSB3245:無法解析此引用。 無法找到程序集“ System.Net.Http”。 檢查以確保程序集在磁盤上。 如果您的代碼需要此引用,則可能會出現編譯錯誤。
如果您不想添加對NetStandard.Library的引用,解決方案是使用Condition
屬性僅添加對net461版本的引用:
<PropertyGroup>
<TargetFrameworks>net461;netstandard1.4;netstandard2.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net461'">
<Reference Include="System.Net.Http" />
</ItemGroup>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.