我有一个包含56个项目的快速大解决方案。有时,当将回购克隆到新工作区并从头开始重建时,我会遇到奇怪的问题。
它是这样的:
我加载已检出的解决方案文件,并获得大约20个堆叠的对话框,要求我恢复NuGet库。好吧,我这样做(但对堆叠的对话框略微说说)
我做Build-Clean解决方案
我做构建 - 构建解决方案
我得到63个类型为CS0006元数据的错误“MySolution \ MyProject \ bin \ Debug \ MyProj.dll”找不到。这些错误中引用了大约4-5个DLL。
然后我通过右键单击并进行重建来“手动”构建这些,最终我可以构建整个项目。显然,存在一些依赖性问题,但是我如何调查它,因为它应该“自动”工作?我几乎更喜欢自己创建构建文件....
有什么想法吗?
答案 0 :(得分:1)
转到项目文件夹的物理位置 - >右键单击转到属性 - >删除或取消选中只读(删除文件夹只读)并重建解决方案。
问题是,有时候,你的解决方案的本地副本是只读的,而你正在尝试构建解决方案(它会尝试在构建期间删除/替换某些.exe文件,但由于读取而有限制只有模式。)
Nuget包只会在物理本地包文件夹不存在或删除时恢复。您可以手动删除包文件夹和构建解决方案,它将首先加载或安装所有依赖项。
试试这个,可能会有用。答案 1 :(得分:0)
原来项目(不是我的!)缺少项目之间的构建依赖关系。显然我不完全理解依赖管理(今年已经从Java切换到C#),我认为它更自动,因为我可以做"使用" -statements没有问题我虽然依赖是设置,但在某些情况下,他们失踪了。我将在稍后进一步研究,但是现在它足以让我知道我必须自己检查每个错误并使用Build设置进行验证。