是否可以设置一个基础项目以在多个ASP.NET MVC项目中使用?

Mat*_*t L 3 c# asp.net asp.net-mvc asp.net-mvc-4 visual-studio-2012

我的团队负责人把这个交给了我,我有些困惑。我们刚刚开始在商店中使用ASP.NET MVC进行Web开发,并且我们希望能够在多个站点上使用一些通用的设计和功能。

到目前为止,我已经研究过使用通用元素创建自定义模板,但是这样做的缺点是(据我所知)对模板的更新不会自动推送到使用该模板创建的项目中。由于必须自动将更改更新到使用中的项目,因此自定义模板对我不起作用。

我的问题是,是否可以建立一个可在多个ASP.NET MVC项目中使用的基础项目,对基础的更新会传播到使用中的项目?如果您在该领域有任何经验,我一定会有所帮助。如果这个问题对您很重要,我深表歉意,但这是我第一次真正涉足ASP.NET MVC。

Chr*_*att 5

我发现在不同项目之间共享资源的最佳方法是创建自己的Nuget包。这些可以包含从具有可重用类,枚举,扩展方法等的类库到包含控制器,视图,JavaScript,CSS等完整的整个Web应用程序的所有内容。范围完全取决于您可以从项目中抽象出多少共性。然后,您可以设置自己的私有Nuget存储库来保存这些资源,这样就不必将它们发布到整个世界。(尽管,如果您确实创造了对他人也有益的东西,则一定要分享在官方的Nuget回购中。)

设置一切都很简单。我学习了如何创建Nuget包并在一天之内建立一个私有仓库。以下是一些入门资源:

  1. Nuget官方文档,用于创建和部署程序包
  2. 使用Package Explorer应用程序通过GUI创建软件包
  3. Nuspec官方(软件包清单文件)参考。
  4. 托管自己的Nuget提要
  5. 通过SymbolSource集成创建自己的存储库的替代方法

SymbolSource还提供了免费的私有存储库,这些存储库可以远程托管在其服务器上。某些企业环境可能不喜欢将其代码“放在云端”,但是如果可以使用它,这是迄今为止最简单的方法。