【问题标题】:Create Nuget package with framework target for win8 app and Visual Studio 2013为 win8 应用程序和 Visual Studio 2013 创建具有框架目标的 Nuget 包
【发布时间】:2023-03-13 03:30:01
【问题描述】:

我正在尝试准备一个针对 x64 Win8 应用商店应用的 NuGet 包。要求是在目前支持(据我所知)NuGet 2.8.6 的 Visual Studio 2013 上工作。 所以我有一个这样的 .nuspec 文件:

<files>
    <file src="lib\netcore45\wwapi.dll" target="lib\netcore45\wwapi.dll" />
    <file src="lib\netcore45\wwapi.winmd" target="lib\netcore45\wwapi.winmd" />
    <file src="lib\portable-wpa81\wwapi.dll" target="lib\portable-wpa81\wwapi.dll" />
    <file src="lib\portable-wpa81\wwapi.winmd" target="lib\portable-wpa81\wwapi.winmd" />
    <file src="runtimes\win8-x64\native\wwapi.dll" target="runtimes\win8-x64\native\wwapi.dll" />
    <file src="runtimes\win8-x64\native\wwapi.winmd" target="runtimes\win8-x64\native\wwapi.winmd" />
</files>

我使用了这样的References 元素:

<references>
        <group targetFramework=".NETCore4.5">
            <reference file="wwapi.winmd" />
        </group>
        <group targetFramework="portable-wpa81">
            <reference file="wwapi.winmd" />
        </group>
</references>

但是,位于 runtimes 文件夹下的库不会添加到我正在使用的面向 x64 的项目中,因此它不会构建。有没有办法使用以下配置来实现这一点:

  1. Visual Studio 2013;
  2. Nuget 2.8.6;
  3. NuGet 目标框架名字对象;

我知道使用 PowerShell 脚本或为 x86 和 x64 提供不同的包,但我正在寻找类似于 NuGet 3.0 和 Win10 UAP 的解决方案。

【问题讨论】:

  • NuGet 2 不支持运行时文件夹 - docs.nuget.org/create/uwp-create
  • 是的,我知道。 here 还表示它支持 win10 的框架名称。只有win10吗?
  • 他们添加了一个 uap 目标框架名字对象。 NuGet 在 2.8.6 版本之前已支持 win 目标框架名字对象。
  • 2.8.6 之前的 nuget 框架名字对象和非 UAP 项目是否有任何示例或文档?
  • 有一个list,但它不完整。它不显示任何 Xamarin 框架,也不显示 uap。 source code 是我通常查找最新目标框架列表的地方。

标签: visual-studio visual-studio-2013 windows-8.1 nuget


【解决方案1】:

使用build文件夹实现W8库的x86/x64版本的自动选择。这在 VS2013 中得到支持,因为它是在 Nuget 2.5 中添加的(请参阅Nuget 2.5 release notes:自动导入 msbuild 目标和道具文件)

基本上,解决方案包括在 build/.targets 添加一个文件,该文件具有对正确 dll 的引用。

以下是一些有用的示例链接:link1link2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2016-06-02
    • 2013-12-19
    相关资源
    最近更新 更多