构建我的云项目时出现“对象引用未设置为对象的实例”

"Object reference not set to an instance of an object" when building my cloud project

提问人:Matthijs Wessels 提问时间:10/3/2013 最后编辑:Matthijs Wessels 更新时间:9/19/2015 访问量:29931

问:

当我使用一堆云项目构建解决方案时,我在输出中看到一条或多条“错误:对象引用未设置为对象的实例”消息。当我尝试运行其中一个云项目时,我收到弹出窗口“存在构建错误。是否要继续并运行上次成功的构建“,但”错误列表“中没有错误,输出中也存在相同的”错误:对象引用...“错误。

当我在我的云项目上单击包时,我收到一个消息框,其中包含“对象引用未设置为对象的实例”,当我右键单击云项目中“角色”下项目引用的 -> 属性时也是如此。

如果我使用命令行通过 msbuild 构建我的解决方案,我不会收到错误。

我尝试重新启动 Visual Studio 和我的 PC。我还尝试重新安装 Azure Tools (2.1),然后重新安装 Visual Studio。

我的同事现在在 Visual Studio 2013 RC 上遇到了同样的问题。

有人遇到过同样的问题吗?

我搜索过,但只找到了发布时遇到问题的人,解决方案是手动打包。

visual-studio-2012 azure nullreferenceexception

评论

1赞 Eoin Campbell 11/22/2013
从今天早上开始,我就遇到了完全相同的问题。你有没有找到解决方案。我注意到的另一件事是,如果我在云项目中选择 a 角色并单击删除,它会说“服务定义或服务配置无效 - 请修复这些文件以完成此操作”
0赞 Matthijs Wessels 11/22/2013
@EoinCampbell我已经在另一个非云项目上工作了几个星期。回到云项目后,我再也没有遇到同样的问题了。我唯一能想到的改变是我安装了 Azure 工具 2.2(不过我们仍然在项目中使用 2.1)。
0赞 Eoin Campbell 11/22/2013
谢谢。在过去的几天里,我也更新到了 2.2。原来我的问题与缺少diagnostics.wadcfg文件有关,该文件在我们的git-ignore文件中被标记为被忽略的扩展名。为回应欢呼。
0赞 HaterTot 12/4/2013
我在 VS2013 和 Azure Tools 2.2 上。这个问题今天随机开始为我发生,重新安装 Azure Tools 2.2 修复了它。谢谢你为我指出正确的方向,伙计们。
1赞 user3232817 2/19/2014
我删除了该项目,然后重新添加,它似乎清除了它。

答:

9赞 ahmed.eltawil 10/10/2013 #1

尝试从云项目中删除角色,重新构建解决方案(如果有错误,请发布),然后将角色添加回云项目并重新构建。

评论

0赞 Matthijs Wessels 10/11/2013
谢谢你的回答。我已经删除并重新添加了它,但不是运气。如果我在解决方案中没有云项目的情况下进行构建,它就可以工作。但是,即使云项目在解决方案中,并且我选择 Web 应用程序并选择生成,它也会生成而不会出错。
0赞 ahmed.eltawil 10/15/2013
您是否能够打包其他云项目之一而不会出错?只是这个特定的云项目吗?
0赞 Matthijs Wessels 10/15/2013
实际上就是其中之一。其他人(大约 6 个)给了我同样的错误。虽然有效的那个有时也会失败。我能想到的唯一区别是它是一个更简单的 Web 应用程序(即主页)。
2赞 Bryan 12/28/2013 #2

我想让大家知道我正在处理一个非常相似的情况,尽管使用的是不同版本的 Azure SDK (1.8)。我有许多云服务项目,我已经创建了无数次,然后突然无法再打开它们。尝试打开云服务配置 UI 会导致“对象未设置为引用”错误。我可以打开实际的XML文件,但不能打开GUI界面。

我多次尝试重新安装 1.8 SDK 和工具以及 VS 2012,但无济于事。我终于尝试安装最新的 SDK (2.2),现在我可以打开项目了。不确定在此之前我的系统发生了什么变化,但很高兴我终于能够再次打开我的项目!

3赞 SeanCocteau 4/2/2014 #3

当发布退出并且我开始收到“找不到对象”错误时,我遇到了类似的问题。VS2013(就我而言)报告“diagnostics.wadcfg”丢失,并将其异常地存储到另一个目录中。

通过进入项目文件 (.ccproj) 并从“Project\ItemGroup\Content Include ”\diagnostics.wadcfg“ 中删除错误条目并重新加载项目 - 一切都恢复了生机。

如果做不到这一点,请对照有问题的项目文件检查工作项目文件是否存在不一致。

评论

0赞 Matthijs Wessels 4/2/2014
我认为这也发生在我的情况下,但纠正它并没有解决问题。我什至做了一个完全干净的结账,它不能在我的机器上运行,而它在我的同事的机器上工作
0赞 wallismark 9/8/2014
未签入的diagnostics.wadcfg是我问题的原因
1赞 sham 5/21/2014 #4

我在构建时也遇到了这个错误。解决方案中的项目将独立生成,但生成整个解决方案失败。

我了解到,通常这些类型的问题是由无效的 azure 角色或配置文件引起的。就我而言,事实证明,另一个分支上的 .cscfg 配置文件重命名与我的分支合并,但它没有重命名该文件 - 因此,我分支中的 .ccproj 文件错误地引用了新名称,而仅引用了解决方案中存在的旧文件名。使用新文件名手动编辑 .ccproj 后,我关闭/重新打开了解决方案,一切开始工作。

评论

0赞 Matthijs Wessels 5/21/2014
你使用了哪个源代码管理,TFS?
0赞 sham 5/22/2014
@MatthijsWessels 我们正在使用 TFS Online
0赞 trees_are_great 8/23/2014 #5

在我的MVC项目中创建视图后,我在VS2013 express上遇到了类似的问题。

我用git恢复了项目,但这并没有解决问题。我还将该项目签出到电脑上的其他位置,但这并没有解决问题。我能够在笔记本电脑上签出该项目,而没有看到这个问题。

最后,我卸载了VS2013 express及其所有对应版本并重新安装。这解决了问题。

46赞 Siva 9/8/2014 #6

我有同样的问题。右键单击云服务项目,卸载该项目。再次重新加载它。

评论

2赞 Phil Cooper 9/10/2014
这解决了我的问题。一直在与一些 nuget 包安装/卸载作斗争,一定有什么东西不高兴。
1赞 jdraper3 11/15/2014
这实际上也对我有用!我不知道这能实现什么。.我假设是 VS 还是工具错误?
0赞 bychance 3/23/2015
我的上帝,这个简单的动作解决了它!
0赞 RMD 3/26/2015
重新启动 Visual Studio 也为我解决了这个问题 - 可能出于同样的原因。
0赞 David Ferenczy Rogožan 4/29/2015
有趣。我在构建整个解决方案(10 个项目)时遇到了同样的问题。一个接一个地单独构建项目是没有错误的。但是我不能运行它。我尝试关闭并重新打开解决方案并重新启动 VS,但没有成功。卸载/重新加载 Azure 项目解决了它。VS 是一个很棒的工具,但我真的很讨厌 VS 的这个问题(所有重新启动、关闭和重新打开等)。我在 Linux 世界中没有遇到过类似的问题。
0赞 Aaron Smith 9/19/2014 #7

我有这个错误(但没有使用云项目)。事实证明,Perforce(P4V)使用的字符编码是错误的,它应该是UTF-8。更改为 UTF-8 并重新同步代码后,Visual Studio 能够很好地找到并编译项目。

0赞 Tono 10/22/2014 #8

也许提示:在编译 VS2013 Dot42 项目时,我收到了相同的错误消息 - 意识到这是由于将某种内部类型(在我的情况下是枚举)的具体值分配给 INullable 变量引起的:

private SomeClass.SomeEnum? _var1;
...
_var1 = SomeClass.SomeEnum.XY;    // causes compilation error

解决方案是,不使用 INullable:

private SomeClass.SomeEnum _var1;

评论

0赞 Matthijs Wessels 10/22/2014
您可能指的是 Nullable<T>而不是 INullable。这是否导致了编译错误,或者生成输出中是否存在“对象引用未设置为对象实例”消息?将不可为 null 的值分配给 .Nullable<T>
0赞 Tono 10/22/2014
是的,对不起 - 当使用 Nullable<T> 时,构建输出仅以以下结尾:...4>C:\Program Files\dot42\Android\dot42。Common.targets(615,5): 错误:对象引用未设置为对象的实例。========== 全部重建:3 次成功,1 次失败,0 次跳过 ============
3赞 Dustin Metzgar 10/24/2014 #9

您不必删除角色并重新添加它们,这真的很烦人,因为您必须保留 cscfg 和 csdef 文件的内容。相反,请关闭 Visual Studio,删除解决方案的 .suo 文件,然后再次打开解决方案。

评论

0赞 Roboblob 11/20/2015
这实际上对我有用。删除 .suo 文件(顺便说一句,这是巨大的)允许我打开以前抛出“对象未设置为引用”错误的 Azure 项目的属性页。
0赞 Judah Gabriel Himango 3/18/2015 #10

这些答案都没有帮助我。我决定重新安装 Azure 工具,并注意到我安装了多个版本。我卸载了旧版本,重新安装了最新版本,这为我修复了它。

0赞 AbdulRahman Ansari 9/19/2015 #11

我在发布项目时也收到了相同的消息,尽管是在 Visual Studio 2010 中。

对我来说,从 bin 文件夹中删除所有文件都有效。