如何从ASP.NET MVC项目中引用c#library项目中的javascript文件?

如何从ASP.NET MVC项目中引用c#library项目中的javascript文件?,javascript,asp.net,visual-studio-2013,Javascript,Asp.net,Visual Studio 2013,通常我会去 <script src="~/Scripts/Controls/SomeScript.js"></script> 这会在ASP.NET.cshtml页面所在的同一项目的“Scripts/Controls”文件夹中找到SomeScript.js 然而,现在是在两个项目之间共享javascript文件的时候了。我需要把它转移到一个图书馆项目 在同一个解决方案中,在一个完全不同的项目中定位javascript文件,src属性的值必须是多少?我必须做些别的事吗?

通常我会去

<script src="~/Scripts/Controls/SomeScript.js"></script>

这会在ASP.NET.cshtml页面所在的同一项目的“Scripts/Controls”文件夹中找到SomeScript.js

然而,现在是在两个项目之间共享javascript文件的时候了。我需要把它转移到一个图书馆项目

在同一个解决方案中,在一个完全不同的项目中定位javascript文件,src属性的值必须是多少?我必须做些别的事吗?这个问题通常是如何解决的


我在“SomeScript.js”属性页上尝试了“复制到输出目录”,这会将脚本及其包含文件夹复制到“bin”目录。但是,当尝试访问bin文件夹中的.js文件时,chrome报告“不允许加载本地资源”。

脚本所在的文件夹必须位于项目树中,特别是当您计划将应用发布到远程服务器时。VisualStudio提供了一个选项,允许您将存储在项目树外部的项符号链接到项目树中的文件夹中。对原始文件的任何更改都将反映在项目中;但是,如果文件被删除,链接将保留,断开

您还必须将以下内容添加到project.csproj文件末尾的project close标记之前

<Target Name="CopyLinkedContentFiles" BeforeTargets="Build">
<Copy SourceFiles="%(Content.Identity)" DestinationFiles="%(Content.Link)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" Condition="'%(Content.Link)' != ''" />
</Target> 

对.csproj文件的此编辑将导致visual studio实际将链接文件复制到生成结束时链接的位置


这样,您仍然可以在项目中引用
~/Scripts/Controls/SomeScript.js

使用此引用解决您的问题:


似乎最好的方法是在开始时使用/即根目录。。您可以从那里管理您的方式

谢谢,链接会很好。我正想试试。这个可以用,但不是很干净。我想在不使用“.”选项的情况下获取库文件。那边对同一件事的讨论相当热烈。