在Visual Studio中,引用未能正确更新

3

我正在使用Visual Studio进行一个相当大的项目,并且在我的当前解决方案中引用了其他解决方案和项目。我的一个用户控件位于另一个解决方案中,因此我需要能够始终更新DLL以适应代码的任何更改。唯一的问题是,除非我经过漫长而繁琐的过程,否则Visual Studio不会更新我的引用,现在我将尝试描述这个过程:

  1. 首先,我必须清理并重新构建包含更改代码的解决方案。以下是我需要更新的类的摘录:

    这是我需要更新的类的一小部分

我刚刚添加了突出显示的属性,因此我的其他项目尚未识别它。我使用像HelloWorldISuddenlyDespiseYogurt这样的空属性,因为它们在代码中很容易被发现,并且属性将显示在编译版本的代码中。

  1. 其次,我必须转到我要在其中使用DLL的项目中,删除引用,然后重新添加引用。

输入图像描述

我右键单击要引用的引用,点击删除,然后右键单击“引用”选项卡,按“添加引用”,然后使用我的另一个解决方案的文件路径并更新引用。

  1. 最后,我必须重新启动Visual Studio并重新打开我正在工作的项目。

输入图像描述

现在我们的新属性被我的项目识别。这个解决方案每次都有效,但它是一个非常麻烦的解决方法,我希望有人知道如何使这个过程更加容易。 这里 是StackOverflow上类似问题的最接近的答案,而其他互联网资源则没有什么帮助。如果有人知道如何解决这个问题,我会非常感激您的见解。


"删除引用,然后重新添加它" - 你是如何添加的?一个简单的项目引用应该立即反映更改。但如果你有一些复杂的DLL引用,那么可能会变得很棘手。如果被引用的项目不能在同一个解决方案中,则可能需要考虑为公司内部常用库托管NuGet包。然后,库更新将发布到NuGet存储库,使用它们的项目将更新其包。" - David
@David,我刚刚编辑了我的问题,展示了我如何更新引用。希望这样能澄清事情。 - Cubemaster
"我使用我的另一个解决方案的文件路径并更新引用" - 不确定您的意思是什么。您是在同一解决方案中向另一个项目添加项目引用吗?还是向文件系统上的 DLL 文件添加程序集引用?还是其他什么? - David
你可能需要在Visual Studio或Notepad ++中将.csproj文件以文本形式打开,并检查引用。有时它们并不是你期望的,可以通过直接编辑进行修复。 - zzxyz
问题已解决,感谢大家的帮助! - Cubemaster
3个回答

2
我有一种感觉,你的项目是将库.DLL复制到你的项目文件夹中,而不是链接到Hamilton.HST项目的Release文件夹。
我建议你检查两个方面:当你链接引用并点击“浏览”时,你从哪里获取.DLL?希望是Release文件夹或其他在重新编译Hamilton.HST项目时会更改的输出。其次,检查你的主项目和引用的属性,确保它指向那个Hamilton.HST文件夹(就像我说的,我怀疑它指向你第二个项目文件夹中的某个地方,而VS复制了DLL而不是链接)。

1
我设法解决了这个问题,希望可以永久解决。为了其他可能遇到这个问题的人着想,这是我的解决方案:
我通过在“解决方案资源管理器”中右键单击项目名称并点击“属性”,进入了项目的“属性”选项卡。然后我导航到“生成事件”,在那里我看到了类似于以下内容:

enter image description here

这个窗口打开时就有前两行,我添加了最后一行。据我的了解,添加该行代码可以告诉程序在构建项目时查找更新的DLL的位置,之前我的位置不正确。
除此之外,我不知道这个解决方案是如何起作用的,但希望它对其他人有用。如果有人知道该解决方案背后的逻辑,请让我知道,这样我就可以澄清我的答案。感谢所有给我提出修复建议的人!

0

Visual Studio 2019。在我的情况下,错误信息是误导性的。逐个构建项目后,我遇到了一个项目中实际的构建错误,这阻止了该项目的编译,因此导致了缺少 DLL 错误。一旦问题解决,所有内容都可以正确构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接