我创建了几个使用我自己的DLL的小应用程序。问题是,这个DLL不断变化。我目前解决这个问题的方法是,我在类库解决方案中有一个Setup项目,用于创建和注册DLL。在我的所有应用程序中,我必须打开解决方案并重新引用新创建/注册的DLL。 然后我必须重新编译他们的安装项目,卸载旧的应用程序,然后重新安装新的应用程序。
必须有一个更好的方法,我只是不确定,因为我对这一切都很新。我已经查看了ClickOnce,但我认为这不会解决我的问题,因为我无法发布类库。我已经研究过检查版本号但是我必须做错了,因为它也不起作用。
据我所知,一旦创建了一个DLL并在应用程序中使用它,就不应该触及它。在这种情况下我没有这个选择。它不断更新。完成。
那么,有更好的方法吗?我们将非常感谢指南或相关问题/答案/论坛的指导。
编辑:DLL在运行时不会不断变化,但它会不断发展,以便在其他应用程序中提供更多功能和细节。另外,我想我应该提到的一件大事是公共界面不断变换 - 通常会添加新方法。
答案 0 :(得分:5)
确保对DLL的引用指定SpecificVersion = false。然后将每个新版本部署到GAC中,这应该可以解决问题。 最后,您还可以使用Binding Redirection手动强制修改版本。
答案 1 :(得分:1)
您可以尝试的解决方案是为您的项目使用单一解决方案,并在需要的任何地方引用该项目。
答案 2 :(得分:0)
查看NuGet
您可以设置一个内部Nuget存储库(实际上只是一个存储nupkg文件的文件夹。)然后,当您构建新的DLL时,您可以根据需要在工作室中更新应用程序。这将确保它具有最新版本。除非您正在修复的DLL中存在错误,否则它们不应该需要重新部署。
答案 3 :(得分:0)
一种解决方案如下:
以上依赖于您的界面稳定。如果不是,您可以写一个(更多)稳定的Facade。