将解决方案升级到 Windows 8.1 后出现神秘的构建错误

Posted

技术标签:

【中文标题】将解决方案升级到 Windows 8.1 后出现神秘的构建错误【英文标题】:Getting mysterious build error after upgrading solution to Windows 8.1 【发布时间】:2013-10-27 08:00:21 【问题描述】:

我在我的项目中使用了 Windows 商店应用程序 8.0,并将其升级为 8.1。并且还将 Visual Studio 从 2012 年升级到 2013 年。

首先,我收到一个错误,无法使用 Microsoft.VCLibs 版本 11.0 和 12.0。所以我删除了11.0版本。

然后我得到了这个错误:

我试图在互联网上找到一些信息,但没有。 此外,当我双击错误时,它不会将我带到错误的位置。

我尝试了很多事情,但没有任何帮助,所以我决定写这篇文章。

谁能帮我解决这个错误?

编辑:

我正在添加更多信息,也许这会导致问题:

已解决:

在 Hans Passant 的帮助下,错误已得到修复。问题是我的资源文件中有这个副本:

我做了两次,因为一次是用于按钮(有内容),一次是用于隐藏代码的消息对话框。

在 Visual Studio 2012 中,此代码运行良好,但不知何故,在 Visual Studio 2013 中却不行。

我删除了 Cancel.Content 行,错误消失了,它工作正常 :)

【问题讨论】:

【参考方案1】:

Here is somebody else 有同样的问题。

我只是复制卡普兰的指导。查看项目中的 .resw 文件并查找重复的“取消”资源。我应该注意到,当我在 VS2013 上构建程序时,故意强制重复资源会产生另一条消息:

1>MakePri:错误 0x80073b0f:处理资源错误:重复条目。 1>MakePRI : 错误 0xdef00532: 资源 'Resources/String1' 的值冲突

在同一个 .resw 文件中复制资源以及制作 .resw 文件的副本并将其添加到项目中的相同消息。所以卡普兰的解释并不完全是灌篮。我会注意您的解决方案中的其他项目,这些项目可能也有一个名为“取消”的资源。当您的解决方案依赖于 VCLibs 时,可能会出现这种情况,这听起来像是在混合 C# 和 C++/CX。

【讨论】:

我已经编辑了我的帖子,我添加了一张图片,也许这会有所帮助......关于你的答案,这似乎是正确的方法,但我不明白应该怎么做我愿意吗? 它没有帮助。您实际上必须查看 .resw 文件的内部。使用记事本。 好的,我已经用记事本打开了 .resw 文件,但是我该怎么做呢? 找到“取消”。查看解决方案中项目使用的其他 .resw 文件,并在那里查找“取消”。您确实听起来有点过头了,我建议您致电 Microsoft 支持部门寻求帮助。您可以将您的解决方案和项目发送给他们,他们会告诉您其中有什么问题。 无需致电 :) 有效!!!我应该做的就是删除一行 Cancel text it it .resw 文件 - 我不知道为什么,但在以前的 Visual Studio 中它很好。非常感谢:)【参考方案2】:

我遇到了这个MSDN URL,它似乎很有帮助。

2 sn-ps 你可以试试:

    您的项目文件中实际上可能有重复的资源条目。

    您的 obj 文件可能已损坏,您需要清除 obj 文件(虽然我在我的 团队 - 它可能会在 2008 年修复)。

    如果您使用的是自定义区域性,可能使用 .Net RegisterCulture 方法,请确保该区域性已在 你的电脑。如果您重新安装了操作系统并安装了 VS2008 和 由于此问题,您无法构建,这可能是因为您需要 在构建之前注册您的自定义文化。这个错误似乎 当 msbuild 找不到文化时抛出。

或者:

PS - 还有一个 Visual Studio 2012 Update 3 可能会有所帮助吗?

Visual Studio 2012 Update 3

我希望这会有所帮助。

【讨论】:

不是这样,错误信息不匹配。您是否使用 sock puppet 帐户为自己的帖子投票?啧啧啧。 @HansPassant 从我在网上对这个错误进行的重新搜索,这就是我发现的。回答你的问题,不,我没有“Sock Puppet 帐户”——如果你不相信我,欢迎你询问我的帐户? @HansPassant PS - 这现在已经被 2 人赞成(我希望我有代表告诉你谁,但我不知道)如果有 2 人欣赏这个答案,那么这应该足以证明吗? @HansPassant PS 2 - 我仍然认为这是一个资源问题,我的回答中提供的第二个/替代选项应该会有所帮助。 (即删除 res 文件等)我可以理解为什么您会认为自己做了什么,但是,我确实认为整个答案应该有所帮助(其他 2 人也是如此),因此,我被指控冒犯了。如果您想打开私人聊天,请随意。【参考方案3】:

我不知道你是否尝试过重新安装 VS 2013,我遇到了同样的错误,但我重新安装后解决了。

【讨论】:

这看起来像一个 C# 应用程序。为什么需要 VCLibs 依赖项?您使用的是 C++ 组件吗?【参考方案4】:

在我的情况下,在为 Win81 应用程序重新定位工作的 Win8 应用程序之后,是 UI 字符串。恕我直言,这是正确的,但是 VS2013 有一些问题。

Locations       SomeString  
Locations.Text  SomeStringForUI 

删除其中一个解决了我的问题。

【讨论】:

【参考方案5】:

最近我在我的 UWP 项目中遇到了类似的构建异常

MakePri:错误 0x80073b0f:处理资源失败并出现错误:Doppelter Eintrag。 MakePRI:错误 0xdef00532:资源“System.Design/ClassComments1”的值冲突

我找到了很多关于错误的信息,但没有解决方案。看起来错误必须在入口应用程序项目中,但事实并非如此。 就我而言,VS 自动集成了对 System.Activities 的引用,因为出现了错误。

在我删除了错误的引用后,它又可以正常工作了。

【讨论】:

【参考方案6】:

如果您在一个项目中更新 Nuget 包,而不是在另一个使用相同 Nuget 包的依赖项目中更新,也会发生类似错误。

即跨两个依赖项目引用不同版本的依赖项时,可能是版本不匹配错误。

【讨论】:

【参考方案7】:

当开发人员在 Xamarin.Forms PCL 引用的 PCL 中引用 System.Web 时,在 UWP Xamarin.Forms 项目中出现此错误。

更多信息: Add System.Web Reference To A Windows 10 Universal App

【讨论】:

我也是,但你是怎么解决的?

以上是关于将解决方案升级到 Windows 8.1 后出现神秘的构建错误的主要内容,如果未能解决你的问题,请参考以下文章

升级到 Android 8.1 后 startForeground 失败

微软升级病毒库导致Win7/8.1端Defender出现bug

升级到 gms 服务 8.1 后玩游戏服务无法正常工作

Windows 7 或 Windows 8.1用户如何免费升级至Windows 10?

Win8.1升级Windows10出现报错怎么解决

一劳永逸解决Windows 10升级提示 (转载)