我的csproj有以下几行:
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<PropertyGroup>
<Deterministic>False</Deterministic>
<ItemGroup>
<ProjectReference Include="..\blah.Common\blah.Common.csproj" />
<ProjectReference Include="..\blah.Model\blah.Model.csproj" />
</ItemGroup>
引用的项目构建正常。但是在VS树中,这两个项目从Dependencies树中随机消失,VS将引用报告为缺失并且构建通过。
重新加载/重建/清理/重新启动/删除然后以无特定顺序再次添加项目通常会修复它。在另一个项目中出现合法的构建错误后,问题就会恢复。
我正在使用Resharper和VS2017
我尝试过没有运气的dotnet恢复。任何想法为什么这个特定的项目不断失去其参考?
编辑:我刚刚意识到我错误地提到构建为失败。它没有失败并且构建成功,但是我的项目有红色错误和警告,说缺少引用。成功构建后,红色警告/错误消失,然后再次随机返回。
有时,参考树中的项目实际上是丢失的,有时它们是可见的。右键点击&#34;添加参考&#34;但该项目已被勾选。卸载项目并重新加载或进行完全重建可以修复&#34;错误&#34;只是为了让它在某个时刻回来。
即使&#34;错误列表&#34;缺少参考错误,干净和完整的构建不会产生错误,并创建一个成功的构建。
答案 0 :(得分:1)
您是否检查过这3个项目所针对的.NET框架版本?
框架版本之间的不兼容性允许添加引用但在构建/运行时导致缺少引用。要验证这确实是问题,您可以检查Visual Studio在构建解决方案时产生的警告。找到问题根本原因的另一种方法是将其中一个项目添加为DLL引用,同时将另一个项目作为项目引用。如果DLL引用不起作用,则意味着源项目和目标项目之间存在一些配置不匹配(例如.NET框架版本)。如果DLL版本有效,则表示项目引用被破坏,在这种情况下,您可以检查提供的路径是否正确。