我在 VS2017 中有一个 C# MVC Web 应用程序,它引用了两个库项目 Crd.Core 和 Crd.Data。这两个库都引用了我存储在解决方案级别文件夹中的相同第三方 dll。在调试中一切正常。在 Release Crd.Core 中构建正常,但 Crd.Data 失败并出现两个错误:
Unable to generate a temporary class (result=1).
CS0012 The type 'Consilium.TASKMobile.Common.Messages.UserType' is defined in an assembly that is not referenced. You must add a reference to assembly 'Consilium.TASKMobile.Common.Messages, Version=6.0.60037.0, Culture=neutral, PublicKeyToken=null'.
这个程序集肯定被引用了。两个项目从相同的中性位置引用完全相同的文件。我尝试移动引用的文件,并在重新添加它们之前删除引用。
两个项目的以下内容相同:
- 配置(任何 CPU)
- 目标框架(4.6.1)
- csproj 文件中的 PropertyGroups
- csproj 文件中对第三方 DLL 的引用
- 引用的属性(相同的版本,Copy Local = True 等)
基本上我的两个项目在我能想到的检查的各个方面都是相同的,但其中一个项目无法在发布模式下构建,所以某处肯定有一些不同的地方。我错过了什么?我还能检查什么?