如何在没有 Visual Studio 的情况下发布 ASP.NET Web API?
Posted
技术标签:
【中文标题】如何在没有 Visual Studio 的情况下发布 ASP.NET Web API?【英文标题】:How to publish ASP.NET Web API without Visual Studio? 【发布时间】:2014-04-08 21:49:16 【问题描述】:有一个外部服务器,其中必须只有二进制文件或创建的项目。
如果我使用本地 IIS 上的工作室发布到本地 IIS - 没问题。但我现在需要将它发布到远程 Windows 服务器,那里没有任何 Visual Studio,只有 IIS 和 RDP 访问。
我尝试从 IIS 管理工具创建一个新网站,分配经典 AppPool,将新网站分配到物理路径,将文件从开发 PC 复制到该路径。
而且它只是不起作用并且没有显示任何错误......我该如何解决这个问题?
【问题讨论】:
【参考方案1】:您可以研究多种发布机制来在不使用 Visual Studio 的情况下发布您的网站。开箱即用,您可以利用 Publish Profiles,听起来您已经使用它在本地发布,您可以将其扩展为使用 Web Deploy 或 FTP 发布 - 不过,两者都需要在您的 Web 服务器上设置额外的服务。
网络部署: http://www.iis.net/downloads/microsoft/web-deploy
如何:在 Visual Studio 中使用一键发布部署 Web 项目: http://msdn.microsoft.com/en-us/library/dd465337(v=vs.110).aspx
选择要使用的发布机制后,您可以执行以下命令来构建和发布,无需 Visual Studio:
msbuild MyProject.sln /p:DeployOnBuild=true /p:PublishProfile=ProfileName
** 注意:长期而言,我建议您在构建服务器上构建和部署您的项目。对于概念验证或不重要的项目,上述内容是可以的。
【讨论】:
很好的答案,汤姆。你能提供一些资源来了解构建服务器吗? @ClickOk,就个人而言,我在Atlassian Bamboo 和ThoughtWorks Go 方面取得了很大成功,对于自动化部署,Octopus Deploy。【参考方案2】:基于上面Tom 提出的好主意,您还可以从 Visual Studio 创建一个部署包,将 ZIP 上传到目标服务器,然后通过 IIS 管理器手动安装它。该过程记录在 .NET 4.5 https://msdn.microsoft.com/en-us/library/dd465323(v=vs.110).aspx。
这允许您将构建和部署步骤分开,这是我的用例所需要的,以便系统管理员可以将我的 Web API 应用程序部署到新服务器,而无需精通 msbuild
或 Visual Studio。 :)
【讨论】:
【参考方案3】:我只是用File System
来发布,然后所有的API文件都将输出到目标位置,我将这些文件复制到本地或其他服务器上的任何IIS网站物理文件夹,重启后API可以工作那个 IIS 网站。
【讨论】:
以上是关于如何在没有 Visual Studio 的情况下发布 ASP.NET Web API?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 Cygwin 或 Visual Studio 的情况下编译 Magick++?
如何让 Visual Studio 调试器在没有焦点的情况下中断
如何在没有 Visual Studio 的情况下调试 .net 应用程序