Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
模块化.net应用程序的八达通部署方法_.net_Deployment_.net Core_Continuous Deployment_Octopus Deploy - Fatal编程技术网

模块化.net应用程序的八达通部署方法

模块化.net应用程序的八达通部署方法,.net,deployment,.net-core,continuous-deployment,octopus-deploy,.net,Deployment,.net Core,Continuous Deployment,Octopus Deploy,我们有一个.NET windows服务,它没有任何直接的程序集引用,但会检查本地目录中的程序集(通过StructureMap)以将其他行为加载到系统中 可以推送到本地目录的每个模块都作为一个nuget包存在于私有nuget repo中 在部署方面,有两种方法,我很想了解其他人是如何做到这一点的,以及他们是否会事后推荐这种方法: 创建一个引用必要模块nuget包的入口点应用程序,然后为整个应用程序创建一个nuget包,并使用Octopus部署此应用程序 使用Octopus的能力部署多个nuget包

我们有一个.NET windows服务,它没有任何直接的程序集引用,但会检查本地目录中的程序集(通过StructureMap)以将其他行为加载到系统中

可以推送到本地目录的每个模块都作为一个nuget包存在于私有nuget repo中

在部署方面,有两种方法,我很想了解其他人是如何做到这一点的,以及他们是否会事后推荐这种方法:

  • 创建一个引用必要模块nuget包的入口点应用程序,然后为整个应用程序创建一个nuget包,并使用Octopus部署此应用程序

  • 使用Octopus的能力部署多个nuget包,并在部署阶段重新构建所有内容


  • 非常感谢。

    考虑到您的库在服务启动时会加载一次,我可能会选择一个包含多个步骤的单八达通项目。 例如:

  • 停止服务
  • 清理库文件夹
  • 部署库1
  • 部署库2
  • 部署并运行服务
  • 服务部署和安装将是最后一步。 这样,您就可以安全地运行部署中的所有内容,并且您的服务应该将dll部署到一个文件夹中


    要记住的另一点是,部署到新的/干净的计算机应该会产生完全设置服务(包括所有必需的库)。

    您的windows服务是否会从本地文件夹中新添加/更新的程序集动态加载?还是服务启动时为1倍负载?启动时为1倍负载