Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使多个项目在并排安装时访问单个自定义组件_C#_Winforms_Components_Projects - Fatal编程技术网

C# 如何使多个项目在并排安装时访问单个自定义组件

C# 如何使多个项目在并排安装时访问单个自定义组件,c#,winforms,components,projects,C#,Winforms,Components,Projects,我正在创建一个自定义组件(comp a),该组件由同一解决方案中的4-5个其他winform项目使用。问题是,在安装应用程序时,用户可能至少选择一个或多个项目进行安装。他/她可能稍后安装另一个项目 我希望这些项目能够在任何时候访问组件的相同副本。我不希望这些项目中的每一个都有单独的组件副本 如何实现这一点?您应该在中安装组件并从中引用它,而不是直接引用磁盘上的DLL。感谢madd0的快速响应。这是唯一的选择吗?还有其他选择吗?@Jameel:madd0是正确的。您可以使用MEF从磁盘中的某个位置

我正在创建一个自定义组件(comp a),该组件由同一解决方案中的4-5个其他winform项目使用。问题是,在安装应用程序时,用户可能至少选择一个或多个项目进行安装。他/她可能稍后安装另一个项目

我希望这些项目能够在任何时候访问组件的相同副本。我不希望这些项目中的每一个都有单独的组件副本


如何实现这一点?

您应该在中安装组件并从中引用它,而不是直接引用磁盘上的DLL。

感谢madd0的快速响应。这是唯一的选择吗?还有其他选择吗?@Jameel:madd0是正确的。您可以使用MEF从磁盘中的某个位置加载组件,但这样做而不是使用GAC没有任何意义。GAC还具有支持同一组件的多个版本的优势,以防一个应用程序使用的组件版本比其他应用程序更新。简而言之,GAC是为你想要的东西而设计的。