如何从类库项目和预编译的视图中创建NuGet包?

时间:2019-04-02 11:58:01

标签: c# .net asp.net-mvc asp.net-mvc-5 nuget

我在Visual Studio 2017上使用MVC5。我的VS解决方案当前看起来像这样

  • 解决方案
    • MVC应用程序
    • 组件(类库)
    • 自定义视图引擎(类库)

现在,我已经在组件库中创建了模型。 这些模型在MVC应用程序视图中使用。 我已将MVC App配置为在发布过程中通过“将所有输出合并到单个程序集”来预编译视图,并标记为“将其视为库组件”。

Components项目引用了MVC应用程序(以在视图中使用它)。自定义视图引擎也被引用到MVC应用程序(以(在AssemblyInfo中)标记此库包含自定义视图)。

当我发布MVC应用程序时,它将所有视图编译到一个库中。

但是我想从Components项目和视图中创建NuGet包。我该怎么做?有没有自动执行此操作的选项?

1 个答案:

答案 0 :(得分:0)

虽然NuGet具有打包项目的功能,但是它使用编译器输出而不是发布者输出,并自动添加所有MSBuild Content类型,这在您的情况下可能是不需要的(我不知道如何进行预编译)查看工作)。

无论如何,您始终可以创建一个.nuspec file并将其打包为publish命令的输出。在文档页面的末尾,有nuspec个文件中的several complete examples个。

自从我从事ASP.NET项目以来已经有很长时间了,但是我的记忆是MVC仅自动检测“主”程序集中的MVC控制器和剃刀视图。如果您在项目参考或nuget包中还有其他控制器或视图,则可能需要注册它们。