我有一个 web 项目,我在 windows azure 上托管。现在我正在尝试添加客户端 exe 以监视服务器上的某些内容(例如TeamCity 的 Windows 托盘通知程序) 指向此安装程序的链接将在我的网站上。
我使用标准的 Windows azure 网站。我使用 git 存储库部署我的项目。
所以问题是:我可以在 Azure 上构建标准设置项目吗?如果不是,我可以用什么来构建这样的项目?我是否将安装程序项目类型更改为 WiX 或类似的东西?
我有一个 web 项目,我在 windows azure 上托管。现在我正在尝试添加客户端 exe 以监视服务器上的某些内容(例如TeamCity 的 Windows 托盘通知程序) 指向此安装程序的链接将在我的网站上。
我使用标准的 Windows azure 网站。我使用 git 存储库部署我的项目。
所以问题是:我可以在 Azure 上构建标准设置项目吗?如果不是,我可以用什么来构建这样的项目?我是否将安装程序项目类型更改为 WiX 或类似的东西?
在 Azure 网站的上下文中,网站项目不是由 MSBuild 而是直接由 ASP.NET 和 IIS 编译成可执行的 .Net 代码。
ASP.NET 使用所谓的BuildProviders将不同类型的文件构建到单个程序集中,每个网站文件夹生成一个程序集。
由于ASP.NET 编译不是成熟的 MSBuild 编译,因此您无法编译任何类型的项目或任何将使用 MSBuild 进行编译的项目。
理论上(但是,唉,只是理论上!)您可以实现自己的类,该类派生自BuildProvider
生成源代码的类,并在您web.config
的 ASP.NET 编译中引用它。但即使在这种情况下,您也无法完全控制编译的目标。相反,您的提供程序生成的源代码将在动态链接库中编译,并且没有办法(至少在我看来)将安装程序作为编译器输出。
因此,我建议您将自定义安装程序项目添加到您的解决方案中,在本地构建您的安装程序(如果您愿意,可以使用标准 VS 安装项目或 WiX)并在 GIT 部署之前将新构建的安装程序复制到您的部署文件夹中。文件。