首页 > 解决方案 > 如何从类库项目和预编译视图创建 NuGet 包?

问题描述

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

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

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

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

但我想从 Components 项目和视图创建 NuGet 包。我该怎么做?有什么选项可以自动执行此操作吗?

标签: c#.netasp.net-mvcasp.net-mvc-5nuget

解决方案


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

无论如何,您始终可以创建一个.nuspec文件并将其打包发布命令的输出。在文档页面的末尾有几个完整的文件示例nuspec

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


推荐阅读