15

我有几个 ASP.NET Web 项目,它们的输出文件夹设置为“C:\Builds\[ProjectName]bin”(而不是默认的“bin\”文件夹)。这使得“F5”调试不起作用,因为 ASP.NET 开发服务器需要项目文件夹下的“bin”文件夹。

然后我改为使用本地 IIS Web 服务器 (http://localhost/webproject1") 并手动将 vdir 物理路径更新为我的自定义输出路径。但是 VS2010 不会加载 csproj,因为它检测到 url 已经映射到不同的文件夹位置。

我知道我可能不应该更改输出文件夹。但是想知道是否有一种简单的方法可以解决这个问题?目标是使“F5”调试与自定义构建输出文件夹一起工作。


由于 Aristos 的回答而更新:

谢谢阿里斯托斯。不幸的是,这并不能解决问题。我的所有项目都已使用项目参考,因此所有参考 dll 都已正确复制到输出文件夹。F5调试不起作用的原因是输出文件夹不是正常的“bin”子文件夹,而是在其他一些路径中说C:\BuildsOut\Foo\bin

看来要在VS2010中使用F5调试web项目,必须使用默认的输出路径“bin”。如果你改变它,那么 F5 将不起作用,更糟糕的是你的项目甚至可能无法加载。

4

3 回答 3

1

伊恩,

我对同样的问题感到沮丧。我终于放弃了,把这个肮脏的小修复放在了适当的位置。我在“构建后”事件中添加了以下内容:

copy "$(TargetDir)MyWeb.dll" "$(ProjectDir)bin"
copy "$(TargetDir)MyWeb.pdb" "$(ProjectDir)bin"

这至少可以让我正确调试站点并达到我的断点。

于 2011-09-30T13:47:56.663 回答
0

您将它们全部放在一个解决方案中,将您的 Web 项目设置为启动项目,然后在您的 Web 项目中添加其余 dll 作为参考(右键单击 Web,在菜单上选择“添加参考”,然后自动获取最新版本的 dll 并将它们放在 bin 上。

现在,当您按下 F5 时,如果需要的任何 dll 项目是自动构建的,则运行带有新 dll 的子项目。

于 2011-01-08T02:12:56.800 回答
0

删除相关解决方案的 bin 文件夹中的所有项目,关闭系统并重新启动。这至少对我来说是固定的。

于 2013-07-30T20:53:59.137 回答