Je peux aussi le voir, cette question est ancienne, mais pensé que je voudrais ajouter mon grain de sel...
J'ai un fichier javascript dans un projet distinct. J'ai ajouté un lien de référence et cela fonctionne bien pour la publication, mais ne fonctionne pas dans IIS Express ou Casinni. J'ai essayé d'ajouter de routage personnalisé pour attraper le fichier manquant manuellement et de le reconfigurer, mais il est peu un hack et pour quelque raison cessé de fonctionner quand je l'ai mis à niveau vers MVC 5.1, donc, plutôt que de fixer le hack, j'ai trouvé une meilleure façon:
System.Web.Optimization
a javascript faisceaux.
Dans votre projet partagé, ensemble l' Copy To Output Directory
de "Copy" et Build Action
de Contenu sur votre fichier js. Cela signifie que votre js fichiers dans le dossier bin de votre projet de site web. Ils ne peuvent pas être servi à partir de là (IIS coutume de servir à quelque chose dans le dossier bin pour des raisons évidentes de sécurité), mais ils peuvent être inclus dans les paquets
using System.Web;
using System.Web.Optimization;
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/externalLibrary").Include(
"~/bin/scripts/externalLibrary.js"
));
}
}
Vous devez ensuite ajouter à Application_Start dans votre global.asax fichier (juste à côté de vous inscrire routes)
BundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles);
ensuite utiliser votre faisceau de lien dans votre rasoir cshtml:
<script type='text/javascript' src='@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/externalLibrary")'></script>
vous aurez besoin du package nuget pour microsoft.aspnet.web.optimisation