2017-02-01 6 views
0

Ma compréhension est que plusieurs ensembles sont produits par le compilateur pour une application ASP.NET MVC:Comment contrôler la génération d'assembly pour les fichiers cshtml dans ASP.NET MVC 5?

  1. Tout code App_Code est compilé dans son propre dll.
  2. Les fichiers view.cshtml individuels situés à l'intérieur du dossier Views sont compilés chacun dans leur propre assemblage distinct.

À cet égard quelques questions:

  1. est-il un moyen de produire un seul ensemble (de préférence en fusionnant 1 et 2 ci-dessus, ou au moins en compilant toutes cshtml vues dans un ensemble) ?

  2. Existe-t-il un moyen de contrôler le nom de l'assemblage, la version?

  3. Y at-il des paramètres web.config qui contrôlent spécifiquement cette compilation à la demande de fichiers cshtml et les fichiers dans le dossier App_Code?

La raison pour laquelle j'ai besoin plus de contrôle est parce que je voudrais utiliser l'attribut InternalsVisibleTo sur ma bibliothèque de classes déchiqueter, pour que je puisse utiliser ses fonctionnalités de mes fichiers cshtml (je ne peux pas régler le niveau d'accessibilité à public pour mon propres raisons, donc ils doivent rester internal, et je ne veux pas faire face à la compilation conditionnelle non plus).

+0

** Les fichiers Cshtml ** sont open source.Vous pouvez cacher votre code dans ** Actionresult ** et transférer pour voir le résultat par ** viewbag ** –

Répondre

0

Vous pouvez modifier votre routage, créer une classe personnalisée héritant de la classe RazorViewEngine et ajouter l'attribut assembly. Assembly Attribute. Plus sur la façon de créer votre classe personnalisée here