【发布时间】:2011-01-13 07:37:18
【问题描述】:
我有一个设置为在 Debug x86 中构建的 Visual Studio 2010 解决方案。因此,Visual Studio 将输出路径设置为 \bin\x86\Debug,这看起来很合乎逻辑。
该解决方案包含大约 50 个项目;启动项目是 WCF 项目。
当我进行构建时,我希望所有输出 dll 都转到 \bin\x86\Debug,因为这是在项目设置中设置的。但奇怪的是,我看到在 bin\x86\Debug 和 中创建了 dll。如果输出路径未设置为该目录,为什么 Visual Studio 会将任何 dll 放在 \bin 中?似乎所有的dll都进入\bin\x86\Debug,所有的dll除了启动项目进入\bin。知道为什么会这样做吗? (我们有其他不使用 WCF 的解决方案,他们没有这个问题。)
另一个烦恼是,如果我从 Visual Studio 运行服务,然后尝试在 Web 浏览器中访问我的服务,通过转到 http://localhost:1240/MyService.svc,它不起作用,因为启动项目 dll 从/斌。因此,我必须手动将这个 dll 从 \bin\x86\Debug 复制到 \bin,以便找到所有 dll 并且服务正常运行。 (我们当然可以添加一个自定义的构建后步骤来执行复制,但您会认为会有更好的方法!)
对于那些从事 WCF 项目的人,您是否将输出路径保留在 \bin\x86\Debug? (也许有一种方法可以配置服务,例如在 web.config 或 .svc 文件中,以便它知道二进制文件在 \bin\x86\Debug 而不是 \bin 中?)或者您是否将输出路径更改为\bin 以便您可以直接从 Visual Studio 运行您的服务?
【问题讨论】: