【发布时间】:2018-04-10 19:22:47
【问题描述】:
我的 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 restore 但没有成功。任何想法为什么这个特定项目不断失去其参考?
编辑:我刚刚意识到我错误地将构建称为失败。它不会失败并成功构建,但是我的项目中出现了红色错误和警告说引用丢失。成功构建后,红色警告/错误消失,然后随机再次出现。
有时项目从引用树中消失,有时它们是可见的。但是,当右键单击“添加参考”时,该项目已被勾选。卸载项目并重新加载或进行完全重建修复了“错误”,只是为了让它在某个时候回来。
即使“错误列表”中充满了缺失的参考错误,一个干净且完整的构建也不会产生任何错误并创建一个成功的构建。
【问题讨论】:
-
您能否使用新创建的项目包含一个最小的 repo,或者您是否能够共享构建日志? (
msbuild或dotnet命令的/bl参数 >msbuild.binlog文件 - 但将包含所涉及文件的名称以及系统的路径和环境变量) -
下次出现问题时我会创建一个构建日志。
-
如何通过 VS 2017 将 /bl 添加到构建环境中?我找不到在哪里指定自定义 msbuild 参数。
-
您需要从命令行构建(开发人员命令提示符 >
msbuild /bl在解决方案目录中)执行此操作。如果它没有出现在命令行构建中,它可能会更奇怪 -
@MartinUllrich 我有一些构建日志,但我无法将它们公开。如果您能够提供任何见解,我将向您发送指向它们的链接,我们将不胜感激。怎么联系你?
标签: c# visual-studio visual-studio-2017 csproj