【发布时间】:2023-04-04 06:36:01
【问题描述】:
首先,我阅读了一些关于这方面的文章,例如 https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks,但它们没有涵盖我的情况,而且我尝试的任何方法都不起作用。
我总共有 4 个具有以下配置的程序集:
1. .NET Framework 4.5; Platform x86
2. .NET Framework 4.5; Platform x64
3. UWP10; Platform x86
4. UWP10; Platrofm x64
即使是 .NET Framework,我也没有 AnyCPU 平台程序集。我所有的程序集都以 x86 或 x64 为目标。到目前为止,我发现的所有内容都描述了如何仅为 UWP 创建多平台包。我什至还没有尝试过,因为该主题已经很好地涵盖了。问题是如何为 .NET Framework 4.5 打包多平台包。根据包装文章,我似乎必须具有以下文件夹结构
runtimes
win-x86
lib
net45
MyAssembly.dll
win-x64
lib
net45
MyAssembly.dll
我创建了这个结构并尝试使用该包。包安装没有错误,但我不能使用 MyAssembly.dll。看起来构建没有找到它。我尝试了不同的文件夹名称变体,例如“win10-x86”,只是“x86”。没有任何效果。
.NET Framework 4.5 甚至可以有多平台包吗?有没有人成功创建的?请分享知识。
谢谢
【问题讨论】:
-
stackoverflow.com/questions/19478775/… 怎么样?检查投票最多的答案。
-
我看到了这个问题。这个问题已经超过 4 年了,如果我没记错的话,NuGet 中没有任何“运行时”部分,在这种情况下,我知道解决方案是通过自定义目标引入的。从那时起,NuGet 有了很大的改进,我认为现在可以为 .NET Framework 构建特定于平台的包。我可能错过了一些使它工作的东西。
-
我也想知道这怎么可能,尤其是 SDK 风格的项目。
标签: .net nuget packaging multiplatform nuspec