在 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 项目中的输出路径的主要内容,如果未能解决你的问题,请参考以下文章