簡體   English   中英

如何排除Microsoft.NETCore.APP的依賴項

[英]How do I exclude a dependency of Microsoft.NETCore.APP

如何排除Microsoft.NETCore.App的依賴項,以便可以將其替換為本地編譯(錯誤修正)版本。

我執行了通過使用更高版本號制作軟件包來替換軟件包的正常過程,並嘗試進行編譯。 該構建嘗試將兩者鏈接在一起,並由於重復引用而在CS0433的編譯步驟中終止。

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>Exe</OutputType>
       <TargetFramework>netcoreapp2.1</TargetFramework>
   </PropertyGroup>

   <ItemGroup>
       <ProjectReference Include="..\System.Threading.ThreadPool\System.Threading.ThreadPool.csproj"/>
       <ProjectReference Update="..\System.Threading.ThreadPool\System.Threading.ThreadPool.csproj"/>
   </ItemGroup>
</Project>

編譯錯誤:

C:\\ Program FFiles \\ dotnet \\ sdk \\ 2.1.604 \\ Microsoft.Common.CurrentVersion.targets(2114,5):警告MSB3243:無法解決“ System.Threading.ThreadPool版本= 5.0.0.0,區域性之間的沖突=中性,PublicKeyToken =空”和“ System.Threading.ThreadPool,版本= 4.1.1.0,文化=中性,PublicKeyTokn = b03f5f7f11d50a3a”。 任意選擇“ System.Threading.ThreadPool,版本= 5.0.0.0,區域性=中性,PublicKeyToken =空”。 [路徑]

Program.cs(17,13):錯誤CS0433:類型'ThreadPool'同時存在於'System.Threading.ThreadPool,Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'和'System.Threading.ThreadPool,Version = 5.0.0.0,文化=中性,PublicKeyToken =空'[路徑]

我假設您編譯corefx來生成更新的System.Threading.ThreadPool包?

在那種情況下, corefx擁有說明該操作方法的文檔 總結一下:

  1. 使用修復程序構建corefx

  2. 獲取您構建的corefx的版本號

  3. 使用第2步中的版本將PackageReference添加到Microsoft.Private.CoreFx.NETCoreApp

  4. 添加一個nuget.config指向您構建的corefx的bin目錄。

  5. 恢復並發布您的項目,以選擇修改后的corefx。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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