简体   繁体   English

如何排除Microsoft.NETCore.APP的依赖项

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

How do I exclude a dependency of Microsoft.NETCore.App so I can replace it with a locally compiled (bugfix) version. 如何排除Microsoft.NETCore.App的依赖项,以便可以将其替换为本地编译(错误修正)版本。

I carried out the normal procedure for replacing a package by making one with a higher version number, and tried to compile. 我执行了通过使用更高版本号制作软件包来替换软件包的正常过程,并尝试进行编译。 The build tried to link against both and died at the compile step with CS0433 due to duplicate references. 该构建尝试将两者链接在一起,并由于重复引用而在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>

Compile error: 编译错误:

C:\\Program FFiles\\dotnet\\sdk\\2.1.604\\Microsoft.Common.CurrentVersion.targets(2114,5): warning MSB3243: No way to resolve conflict between "System.Threading.ThreadPool, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" and "System.Threading.ThreadPool, Version=4.1.1.0, Culture=neutral, PublicKeyTokn=b03f5f7f11d50a3a". 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”。 Choosing "System.Threading.ThreadPool, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" arbitrarily. 任意选择“ System.Threading.ThreadPool,版本= 5.0.0.0,区域性=中性,PublicKeyToken =空”。 [path] [路径]

Program.cs(17,13): error CS0433: The type 'ThreadPool' exists in both 'System.Threading.ThreadPool, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'System.Threading.ThreadPool, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null' [path] 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 =空'[路径]

I assume you compiled corefx to produce the updated System.Threading.ThreadPool package? 我假设您编译corefx来生成更新的System.Threading.ThreadPool包?

In that case corefx has docs that spell out how do this. 在那种情况下, corefx拥有说明该操作方法的文档 To summarize: 总结一下:

  1. Build corefx with your fixes 使用修复程序构建corefx

  2. Get the version number of the corefx that you built 获取您构建的corefx的版本号

  3. Add a PackageReference to Microsoft.Private.CoreFx.NETCoreApp with the version from step 2 使用第2步中的版本将PackageReference添加到Microsoft.Private.CoreFx.NETCoreApp

  4. Add a nuget.config that points to the bin directory of the corefx that you built. 添加一个nuget.config指向您构建的corefx的bin目录。

  5. restore and publish your project to pick up the custom-modified corefx. 恢复并发布您的项目,以选择修改后的corefx。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法在VS 2015中还原Microsoft.netcore.app依赖关系(未解决) - Microsoft.netcore.app Dependency unable to be restored in VS 2015 (not resolved) 如何修复“Microsoft.NETCore.App”,找不到版本“1.1.2”? - How to fix 'Microsoft.NETCore.App', version '1.1.2' was not found? Microsoft.NETCore.App 和 Microsoft.NETCore.Platforms 的传递依赖项如何工作 - How does transitive dependencies for Microsoft.NETCore.App and Microsoft.NETCore.Platforms work 如何使用C#查找正在执行哪个版本的Microsoft.NETCore.App - How to find which version of Microsoft.NETCore.App is executing using C# 如何删除对 Dependencies/Frameworks/Microsoft.NETCore.App 中未使用程序集的引用? - How to remove reference to unused assembly inside Dependencies/Frameworks/Microsoft.NETCore.App? Microsoft.NETCore.App更新到2.1.0-rc问题 - Microsoft.NETCore.App update to 2.1.0-rc problems .Net Core Classlib 错误地要求 Microsoft.NETCore.App 2.0.0 - .Net Core Classlib misrequires Microsoft.NETCore.App 2.0.0 检测到 package 降级:Microsoft.NETCore.App 从 2.1.3 到 2.1.0 - Detected package downgrade: Microsoft.NETCore.App from 2.1.3 to 2.1.0 未找到指定的框架“Microsoft.NETCore.App”,版本“2.1” - The specified framework 'Microsoft.NETCore.App', version '2.1' was not found '在 Package 管理器控制台中找不到 Microsoft.NETCore.App 2.0.0 - 'Microsoft.NETCore.App 2.0.0 not found in Package Manager Console
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM