首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调试安装在空web应用程序中的整个web的nuget

调试安装在空web应用程序中的整个web的nuget
EN

Stack Overflow用户
提问于 2013-04-04 21:28:58
回答 1查看 124关注 0票数 2

我们正在开发一个核心的ASP.NET MVC web项目和一个以MvcContrib插件web项目的形式的客户插件--一个作为一个领域注入核心web的web项目。该插件是核心项目中的一个软参考,可以完全分开开发,也可以置之不理。

我正在尝试生成一种调试/编码插件的方法,以便可以独立于核心web开发多个自定义插件。

开发人员只需担心插件代码的编码和测试。另外,我不希望他们改变这个自定义插件项目中的核心代码--这无论如何都应该在内核中完成。

我创建了核心网络作为一个NuGet包,并包括所有必要的文件,以便我可以将它包括在一个网络。

我的想法是,我可以创建一个空的网络,安装我的核心网站,开发人员可以有一个F5驱动的调试环境。

我通过创建一个空白Mvc项目进行了测试,安装了我的核心包,并包含了我的一个插件。我将这个空web应用程序的命名空间更改为核心web的名称空间,认为Visual调试将正确地附加和我的核心程序集。

在空应用程序中简单的VS调试不起作用--我收到了HTTP异常,很可能是因为我的路由没有注册。我还看到我的log4net没有创建它的日志文件夹,所以我知道程序集的应用程序开始没有被调用。

因此,我看到VS没有附加到并调用我的核心程序集。

我可以使用这个空的web作为我的nuget安装和调试的主机项目吗?如果是这样的话,我缺少什么配置?

如果不是,我如何将核心web包含在每个客户插件项目中,以便我可以将DLL放到bin中并进行调试?

使用: 2010

ASP.NET MVC2

EN

回答 1

Stack Overflow用户

发布于 2013-04-05 07:38:13

我们做得很好的方法是使用Web和剃须刀发生器 (作为Visual扩展可用)的组合。为了访问核心web应用程序中的视图,消费客户端应用程序需要了解它们,因为它们都包含在Nuget包中(杂乱)中作为文件引用,或者因为它们被编译到核心web dll中。你可以用Razor生成器做到这一点。通过Nuget安装后,您需要将每个.cshtml文件的.cshtml属性更改为RazorGenerator,这将为每个视图创建一个.generated.cs文件。这将允许您的示例客户端使用来自核心web应用程序的布局和视图。

David有一些有用的关于Razor生成器的博客文章

结合Web创建一个运行初始化代码(比如初始化PostActivationStartMethod )的Log4Net,您应该会更好。我们已经在两个场景中运行了这个程序--通过Nuget使用框架包并直接添加一个项目引用。调试并不适用于Nuget包消费路由,但我们不包括Nuget包中的pdb文件。不过,我们可以在直接添加项目引用时进行调试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15822078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档