【问题标题】:How do you publish an ASP.net MVC application from Visual Studio 2013 to your local network?如何将 ASP.net MVC 应用程序从 Visual Studio 2013 发布到本地网络?
【发布时间】:2014-11-13 14:52:58
【问题描述】:

我在 Visual Studio 2013 中制作了一个简单的 ASP.net MVC Web 应用程序,我想部署它,以便可以从本地网络上其他计算机上的浏览器访问它。我尝试右键单击我的项目 > 发布(不确定要使用哪些设置,Web 部署,Web 部署包,文件系统, 我将网站发布到我的 inetpub/wwwroot 文件夹。

我设法让 IIS 运行起来,我尝试在管理器中添加一个应用程序并编辑每个人的权限。我尝试导航到 localhost/application_name 但我收到有关未配置为列出目录的错误。我启用了目录浏览,但这只是意味着它现在显示文件列表。当我在浏览器中导航到应用程序时,如何让它实际运行应用程序? 我接近了吗?

编辑:目前正在尝试这个http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer(虽然我认为这比我现在的位置领先一两步) 也试过这个:http://www.programmerfish.com/how-to-deploy-asp-net-web-application-on-the-network-in-windows-7/#.VGTLCvnF81L到目前为止没有运气

【问题讨论】:

  • 我不精通最新的 VS 版本,但 afik VS 只允许从本地主机访问嵌入式 Web 服务器(可能确实受到限制)。我打赌你需要在本地安装 IIS
  • 这是什么意思?我认为 IIS 是本地安装的。
  • 据我所知,VS 附带的只是用于调试目的,因此受到限制。需要安装完整版
  • 是的,我很确定它已经安装了。

标签: asp.net-mvc web-applications visual-studio-2013 localhost lan


【解决方案1】:

您可以使用 Visual Studio 2013 附带的 IIS Express。我已使用此方法允许其他员工访问我计算机中的网站。 Scott Hanselman 写了一篇很棒的帖子,每当我想向同一网络中的其他人公开托管在本地 iis express 中的网站时,我都会使用它。

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

如果您有任何疑问,请告诉我。希望这会有所帮助

【讨论】:

  • 我试过了。我无法让它工作。那篇文章也是关于 SSL 和 Visual Studio 2010 的。我使用的是 2013,菜单选项不同。我认为它现在默认使用 IIS Express。
  • 出了什么问题?必须运行 IIS Express 服务器才能使其正常工作(IIS Express 图标必须出现在任务栏通知区域中)。我也用2013,效果一样。你在 VS 中唯一要做的就是点击 USE IIS Express1. GETTING IIS EXPRESS TO SERVE EXTERNALLY OVER PORT 80回答你的问题
  • 右键单击您的project(不是解决方案),转到属性。现在从左侧的选项中,选择 web。在服务器下,有一个下拉菜单。如果已经选择了 IIS Express,那么您已经在使用 IIS Express。否则,选择 IIS Express 并保存
  • 是的,您必须在项目中打开您的视觉工作室。它不需要处于调试模式,您只需运行一次即可启动 IIS Express。如果当您从调试模式停止应用程序时 IIS Express 图标消失,这可以通过转到我上面提到的设置页面来解决,在服务器下,还有另一个称为调试器的部分。在此之下,您将看到 Enable Edit and Continue 只需取消勾选并再次运行该应用程序。现在,停止调试不会关闭您的 IIS Express 服务器。但如果你关闭 VS,它会关闭。
  • 是的,我不会在我的机器上运行生产应用程序,当然也不会通过 IIS Express。这是用于测试,当您希望某人在投入生产之前测试您的应用程序的功能并且该人没有 VS 来运行应用程序时,它很有用
【解决方案2】:

当我想在 Visual Studio 中使用 IIS Express 进行开发,但允许本地网络用户查看我的站点版本时,我倾向于在 VS 中创建发布配置文件以发布到本地文件系统(例如 C:\Publish\<yourwebsite> )。然后从 IIS 管理器创建一个指向同一文件夹的新网站,您应该可以通过 http://localhost 访问它,网络用户可以通过 http://<your-pc-name>http://<your-local-ip> 访问它。

您需要向 Windows 防火墙添加一个例外,以允许 HTTP 请求(即端口 80)通过您的本地计算机,但如果您已正确配置 IIS,他们应该会看到该网站。

可以使 IIS Express 对远程客户端可用,但这不是它的设计目的,所以实际上你最好沿着 IIS 路线走,因为这将允许你测试配置,就像它在现场一样/同时进行生产设置。

【讨论】:

  • 我试过了,但是当我导航到我发布它的位置时,该应用程序没有运行。它只是列出了目录。
  • 当我在其他设备上导航到我的 IP 地址时,它甚至可以工作(显示目录);如何让它运行应用程序?
  • 您的目标是什么版本的 MVC? IIS 列出该目录的唯一原因是您将站点指向了错误的文件夹(它应该是其中包含 bin 目录的文件夹),或者您缺少一些 IIS 组件/配置所以它没有不明白这是一个 MVC 站点。还有我们在谈论什么版本的 IIS?
  • 另外值得检查您的网站在 IIS 中运行的应用程序池,并验证它是 .NET 4.0 应用程序池而不是 2.0。
  • 使用 IIS 7。它指向包含 bin 文件夹的文件夹。 MVC 版本,不确定。我该如何检查?
【解决方案3】:

检查这个,以及同一问题的旧版本。我打赌你需要在本地安装 IIS

Use Visual Studio web server in local network

【讨论】:

  • 我很确定 IIS 已安装。
【解决方案4】:

您需要在主机上启用 IIS,因为构建 IIS Express 时并未考虑到这一点。它用于调试目的。

您也没有提到您的绑定配置或应用程序池设置。

这里是关于如何使用 IIS IIS Video tutorial 发布应用程序的综合教程

您需要确保您指定的绑定在整个网络中可用,并且连接的客户端具有权限。

【讨论】:

  • 没有触及绑定配置。使用“LocalSystem”创建了一个池,我应该使用其他东西吗?我也不认识那个视频里的任何东西。我很确定 IIS 已启用。
  • 如果 LocalSystem 对应用程序文件夹具有权限,则没有本地系统是可以的。在绑定方面,如果端口 80 已被使用(安装 IIS 时自动创建。称为默认网站),您必须在绑定中指定一个端口。当您浏览到 localhost 时您会看到什么?
  • 我发布网站的文件夹内容的目录列表。希望它运行应用程序。
  • 在视频教程中他使用的是 Windows 8 和 IIS 8,我使用的是 7。我需要这个 Windows 服务器管理器吗?
  • @shim 我强烈推荐 IIS 服务器管理器。在 Windows 7 上,当您导航到“添加/删除程序”时,“添加/删除 Windows 组件”选择“Internet 信息服务”。打开运行或 cmd 并键入 inetmgr。这将打开 IIS 管理器。
【解决方案5】:

问题是 ASP.net 没有在 IIS 中注册

  1. 以管理员身份打开命令提示符
  2. 导航到 C:\Windows\Microsoft.NET\Framework64\v4.0.30319
  3. aspnet_regiis -iru

现在网络应用在 IIS 中运行 http://www.asp.net/web-forms/overview/deployment/configuring-server-environments-for-web-deployment/configuring-a-web-server-for-web-deploy-publishing-%28remote-agent%29

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多