我们的产品是一个 ASP.Net Web 应用程序。目前,我们在 Visual Studio 中使用网站项目,但很长一段时间以来一直在研究使用 Web 应用程序项目。我目前正在研究它们,以便我们有望改进我们的部署过程。
我们有一个在不同客户之间共享和通用的基础网站,然后我们在客户网站项目中使用特定于客户的功能对其进行扩展。客户项目扩展了基础,因此依赖于其内容。为了构建完整的产品,我们首先部署基础网站,然后将其与来自客户端项目的内容叠加。
在查看在 Visual Studio 中转换为 Web 应用程序项目时,我们希望能够创建基础项目,然后创建客户端项目并设置对基础的引用。这种结构似乎工作正常,但是当我们尝试使用 MSDeploy 从客户端项目部署应用程序时,只会发布来自基本网站的 dll。这对于某些事情来说很好,引用已编译的代码很有用,但还有其他项目,如图像、js 页面、htm 等,仍然是客户端应用程序运行所需的源。我们需要的不仅仅是来自我们基础网站的编译代码。
说了这么多,我可以在这里想到几个选项:
- 继续分两步部署。首先是基础网站,然后是构建完整产品的客户端网站。
- 修改部署流程,从基础项目复制所需的源文件
- 重新构建我们的模型,以不同的方式支持这种基础-客户关系。不太确定这将如何工作,并且将是最不可行的选择。
- ??
我错过了其他选择吗?我设置项目的方式有问题吗?除了共享编译代码之外,让一个 Web 应用程序引用另一个 Web 应用程序还有更多的方法吗?如果是这样,你为什么不直接使用共享类库呢?或者也许我在 MS Deploy 过程中遗漏了一些东西?
我对这里的建议持开放态度,因为我觉得我错过了一些东西。我不认为我们的网络应用模型太独特了。
更新:双重部署过程确实有效,但感觉有点笨拙。还有其他输入吗?