【问题标题】:UWP unit test compile errorsUWP 单元测试编译错误
【发布时间】:2017-12-22 07:39:33
【问题描述】:

我正在将 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>错误 PRI175:0x80073b0f - 处理资源失败并出现错误:重复条目。 13>GENERATEPROJECTPRIFILE:错误 PRI277:0xdef00532 - 资源“System.Design/ClassComments1”的值冲突

更新

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

【问题讨论】:

  • 我不认为你可以将 WPF 单元测试迁移到 UWP 。
  • 这个错误是单元测试项目编译产生的。迁移的代码在通信项目中。项目中只有一个空的测试方法。

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


【解决方案1】:

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

Reference Include="System.EnterpriseServices, Version=4.0.0.0

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多