VS 2012快速调试另一个项目

VS 2012 express debugging another project

我正在使用 VS 2012 Express 通过 MVC4 构建一个 "multi-tenanted" 网站。网站本身一切顺利。

为了确保关注点分离,我有一个插件类型的架构,我的解决方案中有其他项目,可以说每个项目一个 "tenant"。这意味着我可以拥有一个核心网站,并在需要时插入租户插件。

这似乎工作正常。它的工作原理是在构建时,各种文件被 xcopied 到主机站点。例如,对 .cshtml 的更改有点麻烦,我必须构建以获取最新版本,但没关系。

我在尝试通过 linq 将主机的数据库与租户的数据库连接时也遇到了问题(这样我就可以根据主机上的登录用户从租户那里获得用户特定的数据),但现在可以了。

但是,我现在遇到了一些障碍,这大大减慢了我的速度。

因为文件是 xcopied,它们似乎不在调试器下,所以在租户控制器上放置断点绝对没有效果。

有谁知道(或有任何想法)如何调试租户 DLL?所有想法将不胜感激。谢谢。

又搞定了。。。纠结了好久,终于想通了。

在 "tenant" 项目属性中,单击 "Web"。检查 "Override application root URL" 并使用与主机网站相同的 URL。

基本上,主机在 http://localhost:51402 the "tenant", even though it is not the main project was using http://localhost:49931 上使用 IIS Express,因此没有连接,因为租户项目在技术上不是 运行。

通过覆盖应用程序根 URL 使其使用相同的 URL 允许它连接。

编辑

现在,我不太确定上面的内容是否真的解决了问题,部分解决了问题,或者只是时机让它看起来像是解决了问题。

原因是,我在没有调试的地方又发生了。但是,将鼠标悬停在断点上,它表示源与当前 运行ning 不同。这让我有点困惑。

似乎当通过单击绿色开始按钮进行构建时,属性中的 post 构建事件未执行。在 post 构建中,我使用 xcopy 将文件复制到主机应用程序。

所以,这意味着我必须手动构建,然后 运行 绿色按钮(然后再次构建)。