4

我有很多项目的解决方案。上Debug,我有三个 Web 项目,我想在他们自己的 Cassini ASP.NET Web 开发服务器上启动它们。在解决方案属性 → Common PropertiesStartup Project中,我选择了多个启动项目,三个 Web 应用程序的Action设置为Start。所有三个 Web 开发服务器都启动,并且所有三个网页都加载。

但是,Visual Studio 仅附加到其中两个WebDev.WebServer.EXE进程。我必须手动附加到第三个进程才能使用调试器对其进行调试。

这种行为刚刚开始发生,我不知道如何解决这个问题。

还要注意的是,我已经停止并重新启动了几次开发服务器,但行为没有改变。此外,当手动附加到进程时,我看到两个自动附加进程的 Type 属性是Managed 而未附加进程的Type属性是TSQL, Managed, x86。然而,在查看项目的属性时,我的目标是 AnyCPU,并且没有启用 SQL Server 调试。WebDev.WebServer.EXEWebDev.WebServer.EXE

正确附加的两个项目是C# web applications

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

未正确附加的项目是VB.NET Web 应用程序

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>

在另一个工作站上的行为是相同的。所以很有可能它不是特定于机器的问题。

4

5 回答 5

1

这可能是在黑暗中拍摄,但我会查看 csproj 文件,看看不工作的文件是否有任何明显的差异。特别是,我会寻找一个<ProjectTypeGuids>元素。当然,任何与网络托管相关的东西也很有趣;所以下面的任何内容:

<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>

(或类似的,取决于您的项目风格;比较 3 之间的任何看起来不合适的地方)

于 2009-12-13T22:24:49.633 回答
0

我设置了多个启动项目并在解决方案的属性中选择每个 Web 应用程序(在解决方案资源管理器中右键单击解决方案→属性)。

第三个项目是 IIS Web 项目(在属性中设置)吗?我们有许多一起运行的 IIS 项目,我们在调试时没有任何问题。

尝试解决方案 →属性配置属性配置并查看构建哪些项目以及何时构建。

于 2009-12-14T11:37:26.963 回答
0

不确定问题可能是什么,但是当我在发现复杂项目之前遇到问题时,直接查看 .vbproj 或 .csproj 文件会有所帮助。

您是否尝试过创建一个新的 VB.NET 项目并简单地从非工作项目中复制文件?

我还尝试添加第 4 个非常简单的 C# Web 应用程序项目,以查看 3 是否可能是您配置的某种幻数(尽管我目前正在研究一个超过 3 的解决方案并且调试没有问题)。您可以对一个简单的 VB.NET Web 应用程序执行相同的操作 - 您将知道这是否是 webserver #3、一般的 VB.NET 或您的特定项目的问题。

于 2009-12-14T17:05:43.077 回答
0

是否在 Web 应用程序的 Web.config 文件中启用了调试?在 Visual Studio 中启动时是否设置为调试模式?

于 2009-12-17T11:45:28.083 回答
0

右键单击主解决方案 -> 属性 -> 通用属性 -> 启动项目 ->

确保将其设置为“多个启动项目”并且全部设置为“启动”而不是无或不调试就启动。

还要仔细检查每个项目的 .user 文件,并确保 AlwaysStartWebServerOnDebug 设置为 true 以及任何其他调试选项。

于 2009-12-14T22:24:11.587 回答