代码之家  ›  专栏  ›  技术社区  ›  tomab

为win8应用程序和Visual Studio 2013创建具有框架目标的Nuget包

  •  4
  • tomab  · 技术社区  · 9 年前

    我正在尝试为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的解决方案。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Adam Bartha    9 年前

    使用build文件夹可以自动选择W8的库的x86/x64版本。这在VS2013中是受支持的,因为它是在Nuget 2.5中添加的(请参见 Nuget 2.5 release notes :自动导入msbuild目标和props文件)

    基本上,解决方案包括在build/处添加文件。具有对正确dll的引用的目标。

    以下是一些有用的链接和示例: link1 link2