首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改自定义控件的DLL、项目和解决方案的名称并使用它

问如何更改自定义控件的DLL、项目和解决方案的名称并使用它
EN

Stack Overflow用户
提问于 2012-03-23 07:35:37
回答 1查看 3.7K关注 0票数 0

然后更新windows窗体应用程序,其中的控件用于引用自定义控件的新DLL。

我创建了一个在我编写的windows窗体应用程序中使用的自定义控件。我创建了一个单独的项目,以便可以在多个应用程序中使用该控件。它是使用VS2010用C#编写的。据我所知,自定义控件驻留在DLL中。我将该控件导入到我当前应用程序的工具箱中,它似乎工作得很好。为了修订控制和适当的命名目的,我需要重命名我用来创建自定义控件的项目& solution & DLL (我想我希望它们都具有相同的名称)。这将更改控件驻留在……中的DLL的名称我认为。我点击了当前的应用程序,发现了两个对旧DLL的引用,它仍然存在,但由于我现在重命名了项目,所以有一个具有新名称的DLL。我试图从新命名的DLL导入控件,但当我试图将对旧DLL的引用替换为新的DLL时,它造成了各种莫名其妙的破坏,如何让我的当前应用程序使用相同的旧控件,但来自不同的命名空间?

EN

回答 1

Stack Overflow用户

发布于 2012-03-23 07:49:00

我们为我们自己的控件处理这个特定问题的方式,以及一些第三方控件供应商这样做的方式,是保持命名空间不变,但只需更改DLL名称(即MyControl.v11.1.dll)。

然后,当需要升级控件时,您可以编辑项目文件,更改DLL名称,然后就可以关闭并运行了。

我们使用了一些技巧,以便在处理我们的控件和第三方控件时尽可能地流畅。

首先,我们总是将某个版本的DLL复制到与项目相关的目录中。这样,如果开发人员将他们的机器升级到更新的版本,它就不会意外地内置到应用程序中。

其次,我们始终确保项目和licenses.licx文件中的DLL引用删除了版本和公钥信息。

最后,我们手动编辑项目文件,以确保项目不需要特定版本,并且它引用了程序集的本地副本。

下面是我们的项目文件中的一个条目示例,其中应用了上述所有内容:

代码语言:javascript
复制
<Reference Include="Controls.v11.1">
  <HintPath>..\..\Assemblies\Controls.v11.1.dll</HintPath>
  <SpecificVersion>False</SpecificVersion>
</Reference>

我们已经在我们的项目中成功地使用了这种方法至少8年了,自从我们实施了这种方法以来,我们还没有遇到任何DLL升级问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9832128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档