【问题标题】:Setting up development environment for ASP.NET MVC为 ASP.NET MVC 设置开发环境
【发布时间】:2010-01-19 19:57:55
【问题描述】:

我来自 PHP 背景。我曾经使用 Apache、MySQL 和 PHP 进行 Web 开发。 我刚开始asp.net mvc。

  1. 我的计算机上已经安装了 Visual Studio 2008 Pro SP1 和 .NET 3.5 SP1。
  2. 所以,我安装了ASP.NET MVC 1.0
  3. 创建了“ASP.NET MVC Web 应用程序”项目
  4. 当我按 F5 时出现错误无法连接到 ASP.NET 开发服务器

难怪。在这个过程中,我没有设置网络服务器。

我可以在这里使用 apache 吗?我猜IIS是默认的。它在哪里?我该如何配置它? IIS 服务器的 WebRoot 目录是什么?我在哪里可以找到它?

在搜索“无法连接到 ASP.NET 开发服务器”时,我找到了这个解决方案:

第 1 步:选择“工具”->“外部” VS 或 Visual Web 中的“工具”菜单选项 开发商。这将允许您 配置和添加新的菜单项 你的工具菜单。

第二步:点击“添加”按钮添加 一个新的外部工具菜单项。姓名 它“端口 8010 上的 WebServer”(或 任何你想要的)。

第 3 步:对于“命令”文本框 设置输入这个值: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE (注意:这指向网络服务器 VS 通常会自动运行)。

第 4 步:对于“参数”文本框 设置输入这个值:/port:8010 /path:$(ProjectDir) (或您的任何端口 喜欢)

第 5 步:选择“使用输出窗口” 复选框(这将阻止 弹出命令外壳窗口。

一旦您点击应用并确定,您将 现在您的菜单中有一个新的菜单项 名为“WebServer on Port”的“工具”菜单 8010”。您现在可以选择任何网站 在您的解决方案中进行项目,然后 选择此菜单选项以启动 具有根站点的网络服务器 端口 8010 (或任何其他端口 想要)的项目。然后你可以 在浏览器中通过以下方式连接到该站点 简单地说http://localhost:8010/。 所有基于根的引用都将起作用 美好的。

第6步:最后一步是配置 您的网络项目自动 运行时引用此 Web 服务器 或调试站点而不是启动 内置的网络服务器本身。去做 这个,在 解决方案资源管理器,右键单击并 选择“属性页”。选择 左侧的“开始选项”设置, 并在服务器下更改收音机 默认的按钮值(其中 是使用内置的网络服务器)来代替 是“使用自定义服务器”。然后设置 基本 URL 值为: http://localhost:8010/

但是我的系统上没有C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE 这样的文件。我忘记安装什么了吗?请帮助我运行我的“Hello World”应用程序。

编辑:

我使用的是 Windows XP SP2,并以具有管理权限的用户身份登录。

来自这个Unable to connect to ASP.Net Development Server issue

  • 禁用 IPv6

完成!!

  • 确保没有对 localhost 的 hosts 文件进行编辑

我的主机文件 (%SystemRoot%\system32\drivers\etc\hosts) 中没有包含“localhost”的单个条目。

  • 检查防火墙/病毒设置以允许与 devenv.exe 的连接

我尝试禁用防火墙/防病毒

  • 如果您可以在浏览器中预览,请确保浏览器中的 URL 使用与 ASP.NET 开发服务器任务栏图标中显示的端口号相同的端口号。

不,实际上没有这样的开发服务器任务栏图标。

  • 尝试在项目属性中设置一个固定的预定义端口

试过了。但没有阳性结果。

解决方案:

尝试了一切之后。我得出的结论是 WebDev.WebServer.exe 可能已损坏。所以,我用新副本替换了C:\Program Files\Common Files\microsoft shared\DevServer\9.0\WebDev.WebServer.EXEhttp://www.4shared.com/file/116555696/ff3b0dc8/WebDevWebServer.html

成功了!! :)

【问题讨论】:

  • 您使用的是哪个 Windows?另外,你有管理权限吗?不,你不能在这里使用 Apache;用于 ASP.NET 开发的最常见的 Web 服务器就是您所说的那个; WebDev.WebServer.EXE;有时称为 Cassini,它是 Visual Studio 运行的最小 ASP.NET Web 服务器。
  • 您的最终解决方案就是我的答案。我刚刚从我的 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 文件夹中取出 WebDev.WebServer.EXE 和 WebDev.WebServer.EXE.manifest 文件并将它们复制到 Microsoft 共享下的文件夹中。谢谢!

标签: asp.net asp.net-mvc iis


【解决方案1】:

ASP.NET 开发服务器是 Visual Studio 附带的一个小型 Web 服务器。这个想法是您不需要为开发设置 IIS。

查看此question 以获取可能的解决方案。大多数情况下,我会确保不会在您的主机文件中重定向 localhost,并且您不会对可能阻止 localhost 上的某些端口的本地防火墙应用程序做任何时髦的事情。

据我所知,您不能使用 Apache。您可以将其配置为在项目属性->启动选项屏幕中使用 IIS,方法是将其指向您设置的有效 IIS 目录。

编辑: 也试试这个:

  1. 打开命令窗口 (cmd.exe)
  2. 运行 C:\Program Files\Common Files\microsoft shared\DevServer\9.0\WebDev.WebServer.Exe /port:8080 /path:c:\mywebpath\(将 c:\mywebpath 换成应用程序的路径)

您应该注意到 WebDev 服务器在您的任务栏中启动。然后您应该能够浏览到http://localhost:8080/default.aspx(或您的任何页面)。

如果这不起作用,请尝试相同的方法,但使用http://127.0.0.1:8080/default.aspx。如果这有效,但 localhost 没有,那么某些东西正在重定向您的 localhost 流量。

【讨论】:

  • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE 在我的系统上不存在。
  • 我的安装在:C:\Program Files\Common Files\microsoft shared\DevServer\9.0\ - 你那里有 WebDev.WebServer.EXE 吗?
  • 是的,在 `C:\Program Files\Common Files\microsoft shared\DevServer\9.0` 中找到了它。我的问题仍然没有解决。但是 Visual Studio 应该自动启动它并在浏览器中显示该站点,对吗?否则没有使用VS2008。我本可以使用记事本或一些智能编辑器来编写网站代码。 VS2008的用户是谁?
  • 在答案中添加了更多内容,遵循这些步骤应该有助于排除故障 - 我仍然怀疑您可能有某些东西(可能是您的 hosts 文件中的一个条目)阻止了 localhost
  • 你所说的和在visual studio中添加外部工具一样。无论如何,我遇到了同样的错误The application failed to initialize properly (0xc0000007b). Click on OK to terminate the application. 这也是我在尝试将其设置为“外部工具”时遇到的同样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
相关资源
最近更新 更多