title: ASP.NET MVC Modules
body: <p>I need to create a nuget package which will contain shared views, controllers, js, and css files to be used across multiple other projects. Essentially a modular set of things like checkout or search pages that can be dropped into other site projects.</p>
  
  <p>All the research I've done so far points to utilizing precompiled views with <a href="https://github.com/RazorGenerator/RazorGenerator" rel="nofollow noreferrer">RazorGenerator</a> but doesn't say much about the controllers, js, and css files. </p>
  
  <p>Ideally a module's views and other files should be able to be overridden by the consuming host project but the files themselves should not be directly editable within the host project. Much like dlls referenced when other nuget packages are added.</p>
  
  <p>The answers and posts about this type of subject I've found so far seem a bit dated. </p>
  
  <p>Is there a cleaner, modern solution for creating an ASP.NET MVC module nuget package so that fully working pages are able to be shared across projects?</p>