Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 将应用程序依赖项部署到程序文件夹或GAC_C#_.net_Windows_Deployment - Fatal编程技术网

C# 将应用程序依赖项部署到程序文件夹或GAC

C# 将应用程序依赖项部署到程序文件夹或GAC,c#,.net,windows,deployment,C#,.net,Windows,Deployment,可能重复: 如何部署应用程序 将所有必要的DLL(您自己的、第三方等)复制到应用程序文件夹中并完成 或 将部分或所有依赖DLL部署到GAC 与GAC相比,是否有最佳做法可以使用上述哪种解决方案,哪些DLL进入应用程序文件夹?我使用的是ClickOnce。所以,我不担心版本控制、GAC和其他东西,我只是在项目解决方案中创建额外的文件夹,将三维party程序集复制到其中,并且在更新方面没有任何困难,因为使用内置更新系统和反射(用于自定义版本控制)实现自定义更新系统非常容易,您可以轻松找到有

可能重复:

如何部署应用程序

  • 将所有必要的DLL(您自己的、第三方等)复制到应用程序文件夹中并完成

  • 将部分或所有依赖DLL部署到GAC

与GAC相比,是否有最佳做法可以使用上述哪种解决方案,哪些DLL进入应用程序文件夹?

我使用的是ClickOnce。所以,我不担心版本控制、GAC和其他东西,我只是在项目解决方案中创建额外的文件夹,将三维party程序集复制到其中,并且在更新方面没有任何困难,因为使用内置更新系统和反射(用于自定义版本控制)实现自定义更新系统非常容易,您可以轻松找到有关ClickIOnce部署和自定义更新的信息

为简单起见,我建议使用以下目录结构:

<assembly set>\<assembly name>\<assembly version>\
\\\
例如:

媒体\ui\1.0.0.0\ui.dll


assemblies\libvnc\1.11.10\libvnc.dll

刚刚发现了这个问题:这回答了我的问题基本规则是不部署到GAC。您很少需要部署到GAC。始终使用程序文件夹,或多个应用程序共享的公用程序文件夹。(是的,很好,很高兴看到你找到的链接问题确实有这个答案。关于这个问题,有很多不好的建议。)所以你建议他改用ClickOnce而不是回答他的实际问题?