C# MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(3243,9):错误MSB4094

C# MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(3243,9):错误MSB4094,c#,visual-studio-2013,C#,Visual Studio 2013,在VS Ultimate 2013 12.0.21005.1REL中打开我的VS Ultimate 2012 C#解决方案后,我收到以下警告: 警告1发现同一版本的不同版本之间存在冲突 从属程序集。请设置“AutoGenerateBindingRedirects” 属性在项目文件中设置为true。有关详细信息,请参阅 . 能量 我按照Microsoft链接说明进行操作。然后我编辑了csproj文件,添加了以下行: <AutoGenerateBindingRedirects>true&

在VS Ultimate 2013 12.0.21005.1REL中打开我的VS Ultimate 2012 C#解决方案后,我收到以下警告:

警告1发现同一版本的不同版本之间存在冲突 从属程序集。请设置“AutoGenerateBindingRedirects” 属性在项目文件中设置为true。有关详细信息,请参阅 . 能量

我按照Microsoft链接说明进行操作。然后我编辑了csproj文件,添加了以下行:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
true
再次构建解决方案时,出现以下错误:

错误列表 “app.config;obj\x86\Debug\EnergyMS.csproj.EnergyMS.exe.config”是一个 的“ConfigFile”参数的值无效 “GenerateApplicationManifest”任务。无法传递多个项目 转换为类型为“Microsoft.Build.Framework.ITaskItem”的参数。 能量

输出窗口:

C:\程序文件 (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(3243,9): 错误MSB4094: “app.config;obj\x86\Debug\EnergyMS.csproj.EnergyMS.exe.config”是一个 的“ConfigFile”参数的值无效 “GenerateApplicationManifest”任务。无法传递多个项目 转换为类型为“Microsoft.Build.Framework.ITaskItem”的参数

我在论坛上看到过类似的帖子,但我不理解这个问题

有人能帮我理解这个问题吗


谢谢。

我发现,如果我在可执行项目的属性中关闭“启用ClickOnce安全设置”,错误就会消失。接下来我要了解的是,要想重新启用此选项,以便我可以单击一次部署我的WPF应用程序,需要做些什么。

奇怪的是,对我来说,禁用ClickOnce安全设置也起到了作用。但我问自己——如果这个设置保持“打开”或“选中”状态,该怎么办? 猜猜是什么帮了我的忙。。。删除未使用的引用!只需在解决方案资源管理器中的项目上单击RMB,选择项目属性,然后在引用部分显示未使用的引用,瞧


希望它能帮助一些人,对我来说它已经起作用了。

对于所有Xamarin用户:
我还收到了错误消息:

错误列表 “app.config;obj\x86\Debug\EnergyMS.csproj.EnergyMS.exe.config”是一个 的“ConfigFile”参数的值无效 “GenerateApplicationManifest”任务。无法传递多个项目 转换为类型为“Microsoft.Build.Framework.ITaskItem”的参数。 能量

我使用VS和Xamarin.Forms。 我曾试图为ship to the store准备我的iOS应用程序,但突然出现了问题(只有iOS项目,Android和WP仍然有效)。 我从未更改过“安全”选项卡上的设置(我想,这些设置是在“后台”通过我准备应用程序的步骤更改的)。 但是,取消选中我的iOS项目“安全”选项卡上的复选框“激活ClickOnce安全设置”也解决了我的问题。 然后,我在互联网上搜索了错误消息的任何和平(字),并找到了这条消息。
由于此帖子没有任何Xamarin标签,我也在这里发布了…

有类似的消息,在进行Internet搜索后,我发现“”

演示如何轻松识别有问题的程序集

今天晚上,我编辑了一个我正在玩的项目,并得到了 警告如下

发现同一从属程序集的不同版本之间存在冲突。请在项目文件中将“AutoGenerateBindingRedirects”属性设置为true。有关详细信息,请参阅

考虑到我在这个解决方案中的项目中有大约50个参考文献,这并不是特别有帮助。有一种简单的方法可以让编译器吐出更多的信息,而不是通过解决方案手动识别违规者

  • 在Visual Studio 2013中,转到工具>选项
  • 选择项目和解决方案>构建和运行
  • 查找下拉列表MSBuild项目生成输出详细信息。在这里,您可以配置MSBuild以提供更多信息。默认情况下,它将设置为“最小”。将此更改为“详细”
  • 重新生成并查看输出窗口。将所有内容复制到记事本并搜索警告,该警告将告诉您需要查看哪些程序集
  • 我发现我需要在另一个项目中升级几个棱镜组件:

    找到相关文件“…\bin\Debug\Microsoft.Practices.Prism.Mvvm.xml”。 此引用不是“CopyLocal”,因为它与另一个同名引用冲突并丢失了冲突。 此参考的ImageRuntimeVersion为“v4.0.30319”


    获取所有程序集和版本号的最佳方法是通过我在Github中找到的这个应用程序

    我有“…是“GenerateApplicationManifest”任务的“ConfigFile”参数的无效值

    我解决了从我的项目中编辑.csproj文件的问题,包括下面的

    false
    

    现在一切都很好。

    我试着添加这句话作为评论,但我没有足够的声誉。现在大家都知道的解决方案是在VS中为项目禁用ClickOnce安全功能。我想在这个设置背后的原因中添加一些东西。在我的项目中,解决方案是使用MSBuild构建的,并且启用了ClickOnce安全功能。它最初是成功构建的,但我的队友注意到生成了一个证书。他认为这是一个多余的一次,并删除了它。从那时起,项目生成从MSBuild开始失败。因此,我想如果您保持证书的原样,并在启用ClickOnce功能的情况下构建项目,您就不会看到问题。

    谢谢,您的权利。如果你输入false,你可以启用“启用ClickOne安全设置”,但你会得到一个警告
    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>