kza*_*kza 10 nuget portable-class-library windows-8 windows-runtime appx
App1ClassLibrary1Windows 8类库项目添加到解决方案中PortableClassLibrary1针对Windows 8和Windows Phone 7.5的便携式类库添加到解决方案中HttpClientnuget包ClassLibrary1HttpClientnuget包PortableClassLibrary1ClassLibrary1和PortableClassLibrary1您在.appx包阶段遇到错误
Payload contains two or more files with the same destination path 'System.Net.Http.Primitives.dll'.
Source files:
\Projects\App1\PortableClassLibrary1\bin\Debug\System.Net.Http.Primitives.dll
\Projects\App1\packages\Microsoft.Net.Http.2.2.13\lib\win8\System.Net.Http.Primitives.dll
Run Code Online (Sandbox Code Playgroud)
请注意,如果您引用任何包含win8和便携式程序集混合的nuget包,则会再现相同的错误.
预期结果:库的大多数特定版本(win8 one)被打包到.appx中,并且忽略了可移植版本
有关如何欺骗appx打包程序并构建此类Windows 8项目的任何想法?
看起来这里描述的解决方案有效:http://cyanbyfuchsia.wordpress.com/2013/05/03/payload-contains-two-or-more-files-with-the-same-destination-path/
基本上,您必须在从主应用程序引用的WinRT项目中将"复制本地"设置为false.
除此之外,您还应该收到类似以下内容的警告:
所有引用 ClassLibrary1.csproj 的项目都必须安装 nuget 包 Microsoft.Bcl.Build。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=317569。
这说明有问题。基本上,简而言之,您应该将 HttpClient.Compression 安装到所有项目中。MSBuild/AppX 打包不知道在可移植库和存储库项目之间部署哪个二进制文件(它们具有不同的 API 和版本)。将包安装到应用程序中,告诉它。
| 归档时间: |
|
| 查看次数: |
5471 次 |
| 最近记录: |