C# 无特定版本编译.net dll

C# 无特定版本编译.net dll,c#,asp.net,.net,vb.net,C#,Asp.net,.net,Vb.net,我的.net应用程序中有2个自制DLL。第一个DLL是通用的,第二个DLL也使用第一个DLL。现在,每当我更新第一个DLL(新版本号)时,我还需要重新编译第二个DLL。是否可以在不需要重新编译第二个DLL的情况下更新第一个DLL? 谢谢 如果引用一个程序集,并且该程序集的接口发生了更改,那么是的,您必须重新编译调用代码。但是,如果您有一个包含接口的公共程序集,那么您可以随心所欲地更改服务器程序集,因为调用代码仍然只引用其中包含接口的程序集 正如SteveDog所说,将(引用的)特定版本属性设置为

我的.net应用程序中有2个自制DLL。第一个DLL是通用的,第二个DLL也使用第一个DLL。现在,每当我更新第一个DLL(新版本号)时,我还需要重新编译第二个DLL。是否可以在不需要重新编译第二个DLL的情况下更新第一个DLL?
谢谢

如果引用一个程序集,并且该程序集的接口发生了更改,那么是的,您必须重新编译调用代码。但是,如果您有一个包含接口的公共程序集,那么您可以随心所欲地更改服务器程序集,因为调用代码仍然只引用其中包含接口的程序集


正如SteveDog所说,将(引用的)特定版本属性设置为False。

将引用添加到库中时,请确保将引用的“特定版本”属性设置为“False”。只要你没有引用一个特定的版本,那就没关系了。您将能够重新编译依赖项,而不必重新编译依赖于它们的项目。但是,VisualStudio将自动重新编译您的项目,即使除了依赖项的版本号之外没有任何更改。从技术上讲,这是不必要的,因此您仍然可以针对新库运行旧的exe,等等。

您的第一个DLL是.NET还是COM?在任何情况下,如果您正确引用了它们,并且公共接口保持不变,则无需重新编译。DLL和应用程序都是.net。但是,当我将First.dll从1.1版更新到1.2版并更新我的应用程序时,我的应用程序中使用的Second.dll就抱怨First.dll 1.1版不再可用(因为Second.dll是参照First.dll 1.1版编译的)嗨,Steve!是的,已经有了,但是Second.dll仍然在抱怨:-(忘记提及:它是.net 2.0…但是“特定版本”属性已经可用。我会仔细查看。很高兴知道它应该以这种方式工作,我现在将尝试查找我的错误…谢谢!