UWP单元测试编译错误

时间:2017-07-17 16:59:27

标签: c# wpf unit-testing uwp visual-studio-2017

我正在将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:\v7\Development\Unit_Test\GENERATEPROJECTPRIFILE    

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

  .\obj\x86\Debug\Microsoft.Build.Tasks.v4.0\en-US\System.Design.resw (1 hit)
    Line 132:   <data name="ClassComments1" xml:space="preserve">
  .\obj\x86\Debug\System.Design\en-US\System.Design.resw (1 hit)
    Line 3821:   <data name="ClassComments1" xml:space="preserve">

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

更新

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

13&gt;错误PRI175:0x80073b0f - 处理资源失败,错误:重复输入。 13&gt; GENERATEPROJECTPRIFILE:错误PRI277:0xdef00532 - 资源和System.Design/ClassComments1'的冲突值;

更新

我尝试降级此解决方案中的所有项目,以便在2017年预先赢得10个创建者更新,然后在2015年打开解决方案。不幸的是,Microsoft.NetCore.UniversalWindowsPlatform引用在打开解决方案时被打破,2015年nuget可以&#39 ;即使在选择要安装的软件包时,也能成功恢复它们。在失败之前有大量的nuget错误。

1 个答案:

答案 0 :(得分:0)

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

Reference Include="System.EnterpriseServices, Version=4.0.0.0

在我更新代码库以针对UWP进行编译时,Visual Studio会在辅助过程中自动添加引用。删除此引用后,整个解决方案将编译无错误。