使用win8 app和Visual Studio 2013

时间:2015-08-27 18:15:58

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

我正在尝试准备一个用于定位x64 Win8商店应用的NuGet包。要求是使用Visual Studio 2013,它支持到目前为止(据我所知)NuGet 2.8.6。 所以我有一个像这样的.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 Target Framework Monikers;
  4. 我知道使用PowerShell脚本或为x86和x64使用不同的软件包,但我正在寻找类似于NuGet 3.0和Win10 UAP的解决方案。

1 个答案:

答案 0 :(得分:1)

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

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

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