将文件系统网站转换为IIS网站

6
我们最近从VS 2008迁移到了VS 2010。迁移过程很顺利,但是我们的Web项目出了问题。在VS 2008中,网站显示为http://localhost/Website。现在,它显示为C:...\Website。看起来在迁移时,VS开始将其视为文件系统网站。
我尝试删除现有站点并将其重新添加为现有网站,但它仍然显示为C:...\Website。有没有办法将其转换回显示为http://localhost/website,并通过IIS运行,而不是默认的ASP.NET开发服务器?

1
你应该在 Serverfault 上发布这个问题。这并不是一个真正的编程问题。 - adhanlon
3
我猜这是一个关于 Visual Studio 及其项目的编程问题。 - Noah
@Silmaril89:当然与编程有关 - Visual Studio 2010破坏了该网站。他将不得不使用Visual Studio来解决问题。 - John Saunders
@Saunders:这并不涉及编程。我仍然认为它应该在ServerFault上,但我不会争论这个问题。 - adhanlon
2个回答

8

感谢微软的John Dundon帮助我解决了这个问题。以下是他的建议:

非常感谢您提供的详细信息。根据您的描述,我认为这可能是VS中的一种奇怪行为,但我认为我可以帮助您解决它。

我认为它记住使用本地开发服务器的原因是因为它存储在SUO文件中。因此,有两种可能的方法来解决这个问题:

  1. 以管理员身份在安装了IIS的计算机上从源代码控制重新打开您的解决方案,这样所有内容都会被正确下载。
  2. 如果您关闭了VS,请删除SUO文件(注意-这将擦除有关解决方案状态的某些设置,但不应导致任何真正的数据丢失),然后重新打开解决方案,它应该要求您重新下载特定的网站,并尝试再次将其设置为IIS网站。

请注意,由于您的虚拟目录已经存在于您的计算机上,它会询问您是否要使用它-我假设您想要使用它,但它会在使用时覆盖任何文件。

如果这对您有用,请告诉我(虽然您理论上不需要这样做,但在尝试此操作之前备份您未提交的任何工作可能是一个好主意)。

我按照他的建议删除了我的SUO文件并重新打开了解决方案。网站自动修复为http://localhost/Website,它还检出了.SLN文件,当我检入时,也为其他开发人员解决了这个问题。希望这个解决方案能够帮助其他遇到这个奇怪问题的人。


我的基于文件系统的项目没有进行源代码控制,当我尝试删除 suo 文件并重新启动 VS2008 时,它只加载了相同的文件系统项目。有什么解决方法吗? - chugh97
chugh97,我不确定。这是VS2010,所以我不知道它是否有影响。 - Noah

2

请在项目属性中查看Web选项卡。您可以选择使用IIS或开发服务器以及要使用的虚拟目录。


我在启动选项中看到可以将其从“使用默认 Web 服务器”更改为“使用自定义服务器”,并将基本 URL 设置为 http://localhost/Website。这确实使其能够正常运行,但这更像是一种解决方法。有没有一种永久修复它的方法?或者你指的是另一个区域? - Noah
@Noah:那怎么算是一个变通方法呢?IIS网站和基于文件的网站之间还有其他区别吗? - John Saunders
我不确定它们之间的区别是什么。然而,采用这种方法,每个开发者的电脑都需要通过项目属性设置指向本地主机IIS目录,而不是一开始就让项目工作。我向微软发送了问题以了解他们是否能告诉我这两种方法之间的区别。 - Noah
@Noah:那个设置在项目或解决方案中不会持久存在吗?如果是的话,那么就没有每个开发人员的设置。 - John Saunders
我从微软得到了正确的修复方法。我将在下面粘贴答案。 - Noah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接