UWP 单元测试编译错误



我正在将 WPF 项目迁移到 UWP。在 UWP 中设置新的单元测试项目时,当新的单元测试面向迁移的项目时,我遇到了错误,而该项目又依赖于解决方案中的另一个项目。(每个解决方案都构建无错误(

Solution Explorer:
Communication.Base(.csproj uwp class library)
Communication(.csProj uwp class library) -> depends on Communication.Base
Unit_Test(.csproj)

如果Unit_Test项目同时引用 Communication.Base 和 Communication,则在尝试运行空测试方法时会出现几个错误:

Duplicate Entry. error PRI175       
Error       0xdef00532 - Conflicting values for resource 'System.Design/ClassComments1' Unit_Test C:v7DevelopmentUnit_TestGENERATEPROJECTPRIFILE    

当我搜索 ClassComments1 的文件内容时,我发现这些:

.objx86DebugMicrosoft.Build.Tasks.v4.0en-USSystem.Design.resw (1 hit)
Line 132:   <data name="ClassComments1" xml:space="preserve">
.objx86DebugSystem.Designen-USSystem.Design.resw (1 hit)
Line 3821:   <data name="ClassComments1" xml:space="preserve">

不知道如何解决这些问题。有没有人遇到过这个问题?

更新

完成所有项目的迁移后,我发现此错误会影响我编译和运行整个应用程序的能力。我已经重建了所有项目文件(每个文件都编译并生成它的 dll(,但主应用程序现在无法编译:

13>错误 PRI175:0x80073b0f - 处理资源失败,出现错误:重复条目。 13>生成项目prifile:错误PRI277:0xdef00532 - 资源"System.Design/ClassComments1"的值冲突

更新

我尝试将此解决方案中的所有项目降级为 10 年 2017 位创作者更新之前,然后在 2015 年打开该解决方案。遗憾的是,Microsoft.NetCore.UniversalWindowsPlatform 引用在打开解决方案时被破坏,即使选择要安装的包,2015 nuget 也无法成功还原它们。在失败之前有大量的nuget错误。

我终于能够通过将每个项目包含在单元测试中来挑出问题项目来修复此构建错误(每次都失败并出现相同的错误(。当我在测试中添加和删除项目时,我注意到似乎导致问题的项目具有以下参考:

Reference Include="System.EnterpriseServices, Version=4.0.0.0

该引用是由Visual Studio在辅助过程中自动添加的,当时我正在更新代码库以针对UWP进行编译。一旦我删除了这个引用,整个解决方案就会编译没有错误。

相关内容