41

当我尝试构建我的 Windows Phone 应用程序时,我在我的 PC 上收到此错误消息:

Xap packaging failed. Object reference not set to an instance of an object

我正在使用 Dropbox。在我的笔记本电脑上,它工作得很好,我可以调试等等……但是在我的电脑上,我不能。

我尝试了很多事情,例如:

  • 删除obj/调试文件夹
  • 检查解决方案资源管理器中缺少的文件

到目前为止,没有任何帮助。

知道如何解决这个问题吗?

4

11 回答 11

75

您应该在项目的每个文件夹中检查丢失的文件或错误的引用。

如果它的Build Action属性设置为Content或类似,您可以只用一个丢失的图像来解决这个问题......

在此处输入图像描述

检查您的文件,然后重建您的项目!

于 2012-09-20T11:40:20.853 回答
22

如果文件从磁盘本身中删除,而不是通过 Visual Studio 从解决方案中删除,则可能会发生这种情况。通过 Visual Studio 删除文件(它应该标有黄色的小危险图标)并重建。

通过http://blog.jayway.com/2011/06/03/wp7-build-error-xap-packaging-failed/归功于 Andreas Hammar - 他的解决方案对我有用。

于 2012-05-02T20:58:02.313 回答
6

我之所以添加此回复,是因为尽管上面的某些答案中简要介绍了应用程序图标的问题,但我想给出确切的步骤,因为它只是发生在我身上。我收到此错误,然后找到此网页:

Xap 打包错误

原来我的App图标文件名是错误的,因为重命名了。我双击属性文件夹中的WMAppManifest.xml以打开该文件的编辑器。我只是使用按钮更新App Icon,重新找到文件并选择它,重建项目后错误消失了。

于 2013-05-16T17:10:10.197 回答
5

问题在于您的应用程序中的启动对象。我已经多次遇到这个错误。

当我更改类/命名空间应用程序类的名称时,通常会发生这种情况。或者它甚至可能与您的保管箱位置发生冲突。

解决这个问题。

  1. 右键单击您的主项目或 Alt+Enter
  2. 转到 silverlight 选项卡并设置您的启动对象
于 2012-01-30T09:11:37.527 回答
2

尝试以下操作:

  • 关闭 Visual Studio
  • 将所有文件下载到您的计算机
  • 彻底删除 Bin 和 obj 文件夹。
  • 打开.sln
  • 重建

如果失败,请展开解决方案资源管理器中的引用并确保找到所有 dll。如果一个 dll 有一个黄色的感叹号,这意味着它没有找到。我认为您的其中一个引用设置为笔记本电脑上的绝对路径,而您的 PC 上缺少该路径。

于 2012-01-30T06:14:27.127 回答
2

如果有人遇到这篇文章并且仍然遇到 XAP 打包失败并且 VS2012 找不到文件的问题,请检查文件名中的空格。

我遇到了我的瓷砖是“tilename 99.png”的问题,它一直给我 XAP 打包失败的消息。所以我最终将文件名更改为“tilename_99.png”并且它起作用了。

希望这可以帮助处于同样困境的人。

于 2014-01-15T00:43:00.607 回答
1

就我而言,我不小心将 Background.png 移动到了资源文件夹。把它移回来,它工作了!

于 2013-02-18T17:27:28.017 回答
0

就我而言,即使尝试了上述所有方法,此错误也没有消失。实际上,我已将 ApplicationIcon.png 重命名为“xyz.png”。并恢复这一点,解决了这个问题。

于 2012-10-27T19:26:43.193 回答
0

另一种可能性是您在项目/选项/应用程序对话框(图标、背景图像等)中的图像路径错误。

于 2012-11-29T17:45:40.173 回答
0

我收到了这条错误消息,经过一番挫折后,我查看了 obj 文件夹,这不是解决方案的一部分(但 Visual Studio 需要它),但我与 Dropbox 有一些冲突文件。我删除了 obj 文件夹重建,Visual Studio 重新创建了文件夹及其内容并解决了问题。

于 2012-12-20T16:13:39.757 回答
0

啊终于找到我的问题了。

我正在使用 Visual Studio 2012,它并不总是指出“丢失”的文件,并且使它更难修复。

我的短期解决方案

重新链接主项目中的“链接”配置文件。它是一个链接文件,因为原始文件保留在引用的程序集中,而不是当前程序集中。该文件没有标记为黄色,因此并不明显是问题所在,但是当我双击它时,它无法打开,所以我知道这是问题文件。

silverlight 应用程序本身有一个名为“ServiceReferences.ClientConfig”的“链接”文件,其中包含引用项目进行 Web 服务调用所需的信息。

所以主项目本身没有 Web 服务引用,但它引用了一个有的项目,这就是它链接“ServiceReferences.ClientConfig”文件的原因。

我的长期解决方案

继续重建主项目文件,并注释掉,逐个项目,逐个文件排除,直到您可以再次构建主项目。到那时,应该清楚(呃)解决方案的哪一部分导致了问题。

于 2013-04-12T09:31:16.667 回答