【发布时间】:2016-01-17 05:56:31
【问题描述】:
我有一个 ASP.NET Web 应用程序,它由多个 ASP.NET 项目(除了多个类库)组成。显然其中一个项目是根项目,其余的都是子项目(这个应用程序结构的详细概念解释here)。每个子/子项目都有自己的目录,它们都位于根文件夹下我称为“模块”的目录中。由于 IIS 可以为每个应用程序处理一个项目,因此所有子项目都将被视为常规目录(在运行时)。因此,我将每个子项目的构建输出路径修改为“..\..\bin\”,即根 bin 文件夹。这样,我就可以正确设置所有内容。从 Visual Studio 的角度来看,我有幸在一个解决方案下拥有不同的项目。从 IIS 的角度来看,我有一个带有 one bin 文件夹和 one Web.Config 文件的项目。现在要发布了。如果我发布根项目(通过右键单击项目节点 --> 发布),发布的输出将是只有没有“模块”文件夹的项目。生成的 bin 文件夹也将丢失子项目输出 dll。这是意料之中的。所以我认为解决这个问题的明显方法是发布我所有的网络项目(不仅仅是根),记住我的子项目发布路径需要是根项目发布路径中的“模块”文件夹。除了一个基本问题外,所有这些都很好。事实证明,每个发布的子项目都有自己的 bin 文件夹,因此根 bin 文件夹不包含子项目的输出 DLL。所以我想,虽然 Visual Studio 让我以我想要的方式指定每个项目的输出路径(正如我提到的,我将其设置为“..\..\bin\”),但 ClickOnce 发布不尊重这一点,只是为每个项目创建一个 bin 文件夹子项目。有没有办法指定 ClickOnce 发布过程的输出路径(bin 文件夹)?如果没有,有什么替代解决方案?
【问题讨论】:
标签: asp.net visual-studio iis clickonce publish