万一问题还不清楚。我在一个解决方案中有3个MVC项目。每次我创建一个新项目时,它都会添加“脚本”文件夹,其中包含我所需要的所有.js文件。我不想每次都为每个应用程序创建这个程序。有没有一种方法可以从解决方案的中央文件夹引用脚本,以便所有应用程序/项目都可以与它们之间的所有脚本共享一个公共脚本文件夹?
编辑:,如果有any...now的话,请解释一下它的优缺点。
发布于 2011-12-17 00:38:30
以下是我的建议:
右键单击该解决方案并创建一个名为Common Javascript Files的新解决方案文件夹(或任何您想称之为它的内容)。


右键单击解决方案,单击Windows资源管理器中的“打开文件夹”,或手动导航到Visual的其他版本:(

在解决方案目录中,创建一个名称与解决方案文件夹相同的目录(解决方案文件夹通常与源代码级别的目录不匹配,但这将是明智的)。

在这个新目录中,添加需要在解决方案之间共享的文件。

在Visual中,单击“解决方案”文件夹并选择“添加现有项”。

在“文件选择”对话框中,导航到前面创建的目录,选择添加到目录中的文件并单击“添加”。


在每个需要共享文件的项目中,右键单击项目(或项目中的目录),然后单击Add -现有项。

导航到共享目录,选择文件并,单击下拉箭头,然后单击Add。

现在,项目中的文件基本上是解决方案文件夹中文件的捷径。但是它们被视为项目中的实际文件(这包括.CS或Visual文件,它们将被编译为项目中实际存在的文件)。

专业人士
在设计时,只有每个项目所需的文件才能被添加,在controlled.
H 129这不限于JS文件,链接文件可以是您可能需要的任何文件(图片、Css、Xml、CS、CSHTML等)
CONS
发布于 2014-12-22 05:43:24
最好的做法,海事组织,是你自己的CDN.基本上,只需在IIS中创建另一个站点并给它自己的绑定,例如"http://cdn.somedomain.com“
然后将所有css/js/字体/共享图像等存储在CDN站点上,并从其他站点链接到它们。
这样做可以解决两个问题,
当需要的时候,您的所有内容都是共享的,您只需管理每个文件的一个版本。用户浏览器可以将其缓存在一个位置,而不是为每个使用
我添加这个答案是因为我看到很多人引用创建虚拟目录。虽然这确实是共享文件,但它为它们创建了多个下载路径,这是对带宽的极大浪费。为什么要让用户下载jquery.js (1 *多个站点),而您允许他们在cdn.somedomain.com上下载一次。
另外,当我说浪费带宽的时候,我说的不仅仅是服务器带宽,我指的是数据计划上的移动用户。例如,我前几天在我的手机上访问了我们公司的人力资源站点(insuance等),它消耗了25 my的内存,下载了jquery和一些东西5次.在一个每月2gb的数据计划中,那些做这件事的网站真的让我很恼火。
发布于 2013-05-26 19:32:27
在这里,海事组织是最好和最简单的解决办法,我花了一周的时间试图找到最好和最简单的方法,但总是有更多的缺点而不是优点:
Resources(DLL)
Shared
images
image.png
css
shared.css
scripts
jquery.js
MvcApp1
Images
Content
Shared <- We want to get files from above dll here
...
MvcApp2
Images
Content
Shared <- We want to get files from above dll here
...将以下内容添加到MvcApp1 -> Project -> MvcApp1 Properties -> Build events -> post build事件中:
start xcopy "$(SolutionDir)Resources\Shared\*" "$(SolutionDir)MvcApp1\Shared" /r /s /i /y下面是关于它所做的事情的解释:Including Build action content files directory from referenced assembly at same level as bin directory
对于MvcApp2也要这样做。现在,在每次构建之后,新的静态文件将被复制到您的应用程序中,您可以访问诸如"~/Shared/css/site.css“之类的文件。
如果您想要调整上面的命令,将脚本从.dll复制到每个应用程序的脚本文件夹中,那么就可以将一些脚本移动到.dll,而不必更改任何路径,下面是示例:
如果希望在每次构建后只将资源/共享/脚本中的脚本复制到MvcApp1 1/脚本中:
start xcopy "$(SolutionDir)Resources\Shared\Scripts\*" "$(SolutionDir)MvcApp1\Scripts" /r /s /i /yhttps://stackoverflow.com/questions/8540292
复制相似问题