C# 资源的值冲突';例外情况字符串表/…';

C# 资源的值冲突';例外情况字符串表/…';,c#,xaml,uwp,C#,Xaml,Uwp,我们的团队已经在一些UWP应用程序上工作了一段时间,最近在对项目的任何重建更新了一些nugget软件包之后,我们得到了类似以下错误: File=MakePri: Processing Resources failed with error: Duplicate Entry. File=MakePri: Conflicting values for resource 'ExceptionStringTable/NameScopeNameNotFound' 上也有类似的问题,这些问题要么是由用户创

我们的团队已经在一些UWP应用程序上工作了一段时间,最近在对项目的任何重建更新了一些nugget软件包之后,我们得到了类似以下错误:

File=MakePri: Processing Resources failed with error: Duplicate Entry.
File=MakePri: Conflicting values for resource 'ExceptionStringTable/NameScopeNameNotFound'
上也有类似的问题,这些问题要么是由用户创建/管理的资源引起的,要么只是通过清理项目输出和/或重建来解决

这与关于MakePri和上的资源复制条目的其他问题不同,因为这些有冲突的资源不是由我的任何应用程序代码提供或管理的。因此,我不能简单地删除代码中的重复条目

问题是输出中有两个资源文件具有重复的条目。请注意,这不是一个重复的文件,这两个文件中都存在少量条目:

\obj\ARM\Debug\System.Xaml\en-US\ExceptionStringTable.resw
\obj\ARM\Debug\WindowsBase\en-US\ExceptionStringTable.resw
我的问题是,VS ALM中有没有一种方法可以巧妙地忽略这些错误,或者在编译之前/期间修复重复的条目?此外,还有其他人注意到这个问题吗?有没有更好的方法来解决这个问题?我怀疑在NuGet软件包版本上乱搞可能会有所帮助,但在我花更多时间在这上面之前,我很想看看社区的其他人都说了些什么

事实证明,您不能简单地删除这些文件,如果您这样做,下一个构建将把它们放回,但您可以做的是编辑这些文件以删除条目。然后该文件将保留,直到项目输出被清除

我不打算列出这些冲突,我们通过反复试验找到了它们,然后过了一段时间,我们变得懒惰,从这些资源中删除了整个块

这个操作的结果是,如果引发了异常,并且它的消息字符串是我们不小心删除的资源之一,那么如果我还不熟悉异常代码,我必须用谷歌搜索它。这需要一些人去适应:)

正如我所说,我怀疑NuGet软件包的版本可能是罪魁祸首。但我不确定System.Xaml.dll来自哪里。当然,WindowsBase和XAML团队中的MS这样的好人必须意识到这一冲突,我希望这一冲突在将来得到解决。这就是为什么我在寻找一个低投入的解决方案

WindowsBase: \.NETFramework\v4.6.1\WindowsBase.dll
PM>  Install-Package Microsoft.NETCore.UniversalWindowsPlatform  (v5.3.1)
我们当前的解决方案是将ExceptionStringTable.resw文件的XAML版本替换为我们之前编辑并保存回解决方案根目录的文件。这是一个我经常忘记的恼人的过程


是否有其他人经历过这种情况并找到了更好的解决方案?

可能重复抱歉,@Sunteen这不是重复的,我的问题是“重复的资源项”在标准UWP库中,而不是我的代码中,因此我不能简单地删除其中一个资源项。因此,现有的建议提供了类似的问题,所以我不能申请。我也经历了事情的神秘阶段,正如你所看到的,我已经记录了我遇到麻烦的确切文件的路径。