我正在使用通过MSI包发布到IIS网站的WCF服务。我所遇到的问题比任何事情都更令人烦恼,但如果可能的话,我仍然想绕过它。使用“发布”通过MSI安装WCF服务Visual Studio输出
虽然我们正在创建的服务,我们的服务主机上单击鼠标右键,然后选择“发布网站”的手段把它发布到我们的开发服务器。当我们这样做,下面的文件夹结构安装:
- apsnet_client
- 斌
内bin
目录(与DLL文件指的是服务一起),我有一个DLL文件名为App_Code.dll
,其中包含我的Service.cs
文件的编译版本,其中包含实际的服务代码。
显然,我们不能使用Visual Studio部署去到现场的环境,所以我创建了一个MSI包来安装它。 MSI只是从我的服务主机提供内容文件,而没有其他内容。
当MSI安装所需的文件时,目录结构稍有不同。它只是在网站内创建一个App_Code
目录,并将Service.cs
文件放在该文件中,而不是存在App_Code.dll
文件。这可以工作,我可以访问服务,但我真的不太热衷于让服务实例化代码,只是为了访问服务器而修改任何人。
所以基本上我需要做的是将网站发布的输出包含在我的MSI包中,这样我就能得到预编译的App_Code
- 有没有办法做到这一点?在我的解决方案中,无法设置要编译的文件Service.cs
,所以必须有另一种方法来完成。
谢谢。