【发布时间】:2019-07-09 13:55:47
【问题描述】:
我有一个 Powershell 脚本,可以在开发人员机器上构建和设置多个 Web 应用程序。当首次设置开发环境或开发人员想要简单地获取所有内容的最新版本并使其在他们的机器上可用时使用它。通常在一个特定的应用程序上工作,但其他所有应用程序都可用,因为它们相互提供服务。
对于“旧”的 Asp.net 应用程序,这就像构建 .csproj 并将本地 IIS 上的站点指向适当的文件夹一样简单。
对于我们的新 .Net Core 应用程序,它在一段时间内看起来很简单。该脚本使用 Msbuild 构建了适当的 .csproj,并使用 Powershell 创建并配置了指向项目目录的 AppPool 和 IIS 站点。 web.config 文件包含 <aspNetCore processPath="bin\IISSupport\VSIISExeLauncher.exe" arguments="-argFile IISExeLauncherArgs.txt" /> 以启用 IIS 托管和调试。
这种方法适用于已经运行相关 .net Core 应用程序的计算机。但是,事实证明bin\IISSupport\VSIISExeLauncher.exe 不是在 MsBuild 构建期间创建的,而是仅在首次在 Visual Studio 中启动应用程序时创建的。这意味着,即使一切都已正确设置,新开发人员仍必须手动打开每个解决方案并从 Visual Studio 手动启动每个已安装的应用程序,才能正确且完整地设置他们的环境。
有没有人幸运地自动化了这个过程?
我知道直接在本地 IIS 服务器上开发 .Net Core 应用程序不是“首选”方案,但自动安装和运行构成 SOA 一部分的多个 Web 应用程序按需似乎是合理的。
最后但并非最不重要的一点是,我想指出,我们正在尝试建立一个 开发 环境,开发人员应该能够在 Visual Studio 中打开解决方案并且它包含的应用程序已准备好在本地 IIS 上进行调试。因此,简单地将应用程序发布到本地站点并不是一个理想的解决方案。
【问题讨论】:
标签: powershell asp.net-core iis .net-core