在 VS2010 中更改 Web 项目中的输出路径

Posted

技术标签:

【中文标题】在 VS2010 中更改 Web 项目中的输出路径【英文标题】:Changing Output path in web project in VS2010 【发布时间】:2011-01-07 23:13:31 【问题描述】:

我有几个 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 将不起作用,更糟糕的是你的项目甚至可能无法加载。

【问题讨论】:

尝试将这些项目置于同一个“解决方案”下。不确定,但值得一试。 【参考方案1】:

伊恩,

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

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

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

【讨论】:

【参考方案2】:

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

现在当你按下 F5 时,如果任何需要的 dll 项目自动构建它,然后运行包含新 dll 的子项目。

【讨论】:

【参考方案3】:

删除相关解决方案的 bin 文件夹中的所有项目,关闭系统并重新启动。这至少为我解决了这个问题。

【讨论】:

以上是关于在 VS2010 中更改 Web 项目中的输出路径的主要内容,如果未能解决你的问题,请参考以下文章

用VS2010编C#程序扫盲

为啥我的vs2010安装时不能更改路径。预设C盘

Web 项目的参考路径保存在哪里?

vs2013的属性管理器在哪?

我可以从 TFS CI Build 更改 VS2010 数据库项目的部署脚本的位置吗

vs2010环境下,MFC如何修改窗体名字?