我们正在开发一个核心 ASP.NET MVC Web 项目和一个 MvcContrib 插件 Web 项目形式的客户插件——一个作为区域注入到核心 Web 的 Web 项目。该插件是核心项目中的软引用,因此可以完全单独开发并放入。
我正在尝试生成一种调试/编码插件的方法,以便可以独立于核心 web 开发多个自定义插件。
开发人员只需要担心编码和测试插件代码。另外,我不希望他们更改这个自定义插件项目中的核心代码——无论如何都应该在核心中完成。
我将核心 Web 创建为 NuGet 包,并包含所有必要的文件,因此我可以将其包含在 Web 中。
我的想法是,我可以创建一个空 web,安装我的核心 web,开发人员可以拥有一个 F5 驱动的调试环境。
我通过创建一个空白 Mvc 项目进行了测试,安装了我的核心包并包含了我的一个插件。我将这个空 Web 应用程序的命名空间更改为核心 Web 的命名空间,认为 Visual Studio 调试会正确附加和我的核心程序集。
空应用程序中的简单 VS 调试不起作用 - 我收到 HTTP 异常,很可能是由于我的路由未注册。我还看到我的 log4net 没有创建它的日志文件夹,所以我知道程序集的应用程序启动没有被调用。
所以我看到 VS 没有附加并调用我的核心程序集。
我可以使用这个空的 web 作为我的 nuget 安装的 web 和调试的宿主项目吗?如果是这样,我缺少什么配置?
如果没有,我如何在每个客户插件项目中包含核心网络,以便我可以将我的 DLL 放入 bin 并对其进行调试?
使用:Visual Studio 2010
ASP.NET MVC2