0

我不太确定如何标题,因为我很困惑这个问题,编辑或建议澄清,欢迎...通过项目添加对windows phone类库的引用将建立;直接添加dll失败

无论如何,问题是,我有一个Windows Phone 8.1(RT)应用程序,并且我试图使用添加对类库的引用,以便我可以在该项目中使用代码和XAML视图。

如果我将整个类库项目添加到我的Visual Studio解决方案中,然后在我的应用程序中添加对该项目的引用,那么一切正常。

但是,如果我删除引用和库项目,而是添加对类库项目的相同DLL文件的引用,我的应用程序将不再生成。

的错误信息是这样的:

Payload file 'C:\Users\Me\Desktop\MyProject\MyClassLibrary\bin\Debug\ MyClassLibrary\MyPage.xbf' does not exist.

大胆MyClassLibrary是外来文件夹定义其原产地,我不能确定。如果我通过解决方案添加类库作为参考,那么即使该文件夹不存在,它的构建也很好。

但是,当我只将引用添加到相同的DLL文件时,它开始在该文件夹中查找。如果我手动创建该文件夹并将所有内容复制到它中,我可以像以前一样构建和运行,但是这看起来像是黑客,因为如果我添加项目引用,它可以正常工作而不需要这种解决方法...

为什么它这样做?根据构建的输出中这似乎是这个错误的结果:

1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1496,9): error APPX0702: Payload file 'C:\Users\Me\Desktop\MyProject\MyClassLibrary\bin\Debug\MyClassLibrary\MyPage.xbf' does not exist.

,但为什么它在该文件夹追加当我引用添加到直接的dll文件,在那里它来自何处以及如何我阻止它这样做?

+0

看起来像这可能是一个错误? http://www.syntax-error.ch/post/Payload-file-does-not-exist-compile-error.aspx这里的帖子引用VS测试版,但这看起来正是我遇到的问题VS2013 – SelAromDotNet

回答

0

这是一个棘手。 实际上,当您构建商店应用程序(电话或Windows 8)时,无法仅通过引用dll来添加包含xaml的库。它只是不会工作,并显示这种错误。 您不能像在Silverlight中那样将xaml打包到您的WinRT库中。

请仔细阅读这些链接

Embedded Xaml pages on DLL

http://timheuer.com/blog/archive/2012/03/07/creating-custom-controls-for-metro-style-apps.aspx

+0

谢谢,我意识到包含dll的库在winrt中不受支持,但我并没有将视图打包到dll中,而是它们看起来像xBF一样在dll中生成。如果我通过添加对项目的引用来通过Visual Studio引用dll,它会起作用,但如果我通过“add reference”菜单引用dll,它不会。我预计这些行动是相当的,我错了吗? – SelAromDotNet