在Visual Studio中引用无法正确更新

时间:2018-06-21 17:34:54

标签: c# wpf visual-studio

我正在Visual Studio中从事一个相当大的项目,并且在当前解决方案中我对其他解决方案和项目有很多参考。我的用户控件之一驻留在单独的解决方案中,因此我需要始终能够更新DLL以适应我的代码的任何更改。唯一的问题是,除非经过冗长而细致的过程,否则Visual Studio不会更新我的引用,现在我将尝试描述该过程:

  1. 首先,我必须清理并重建包含更改后的代码的解决方案。这是我需要更新的课程的片段:

    This is a little snippet of the class I need to update

我刚刚添加了突出显示的属性,所以我的其他项目尚无法识别它。我使用了ISuddenlyDespiseYogurtfrom tkinter import * import tkinter as tk import GUIBugFixFunctions as GBF duration = float(20) window = tk.Tk() window.title("DAM Lab GUI") window.configure(background = "black") #label starting video duration section Label (window, text="Video Duration:", bg="black", fg="white", font="none 12 bold") .grid(row=502, column=1, sticky=W) #change video duration entry box duration_entry = Entry(window, width=30, bg="white") duration_entry.grid(row= 503, column=1, sticky=W) #change video duration Button ButtonDur = Button(window, text="Set Duration (Seconds)", width=25, command=lambda: GBF.set_duration(duration_entry)) .grid(row=504, column=1, sticky=W) #label displaying video duration label1 = Label(window, text=duration, bg="black", fg="white", font="none 12 bold") label1.grid(row=505, column=1, sticky=W) window.mainloop() 之类的空白属性,因为它们很容易在代码中发现,并且这些属性将显示在代码的编译版本中。

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

enter image description here

我右键单击所需的引用,单击删除,然后右键单击“引用”选项卡,按“添加引用”,然后使用其他解决方案的文件路径并更新引用。

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

enter image description here

现在我的项目认可了我们的新财产。该解决方案每次都有效,但这是一个令人讨厌的解决方法,我希望那里的人知道如何简化此过程。

This是我在StackOverflow上找到的类似问题最接近的东西,互联网的其余部分无济于事。如果有人对如何解决此问题有任何了解,非常感谢您的见解。

2 个答案:

答案 0 :(得分:1)

我觉得您的项目正在将库.DLL复制到您的项目文件夹,而不是链接到Hamilton.HST项目的Release文件夹。

我将从您的角度检查两件事:当您链接引用并单击“浏览”时,究竟从哪里获取.DLL?希望重新编译Hamilton.HST项目时,释放文件夹或其他一些输出会更改。其次,检查您的主项目和Reference上的属性,以确保它指向该Hamilton.HST文件夹(就像我说的那样,我怀疑它指向您第二个项目的文件夹中的某个位置,并且VS复制了DLL而不是链接。)

答案 1 :(得分:0)

我希望能够永久解决此问题。为了其他可能遇到此问题的人,这是我的解决方案:

通过在解决方案资源管理器中右键单击项目名称,然后单击“属性”,进入项目的“属性”选项卡。然后,我导航到“构建事件”,在其中看到了这样的内容:

enter image description here

当我打开窗口时,前两行在那里,我添加了最后一行。据我所知,该行的增加告诉我的程序在构建项目时应在哪里寻找更新的DLL,而我之前的位置是错误的。

除此之外,我不知道此解决方案如何工作,但希望它可以为其他人使用。如果有人知道此解决方案背后的逻辑,请告诉我,以便我澄清我的答案。感谢所有给我建议解决此问题的人!