EKe*_*Ket 71 asp.net-mvc asp.net-mvc-3
如果问题不明确.我在一个解决方案中有3个MVC项目.每次我创建一个新项目时,它都会添加"Scripts"文件夹,其中包含我需要的所有.js文件.我不想每次都为每个应用程序创建这个.有没有办法从解决方案中的中央文件夹引用脚本,以便所有应用程序/项目可以共享一个公共脚本文件夹,其中包含所有常见脚本?
编辑: 如果有任何问题,请解释这样做的利弊...现在我很好奇.
Eri*_*ips 111
这是我建议的:
右键单击解决方案并创建一个名为的新解决方案文件夹Common Javascript Files(或者您想要调用它的任何内容).


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

在解决方案目录中,创建一个与解决方案文件夹同名的目录(解决方案文件夹通常不匹配源代码级别的目录,但这样做是为了理智).

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

在Visual Studio中,单击解决方案文件夹,然后选择" 添加 - 现有项".

在文件选择对话框中,导航到上一个创建的目录,选择添加到目录中的文件,然后单击" 添加".


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

导航到共享目录,选择文件并单击下拉箭头,然后单击添加为链接.

现在,项目中的文件基本上是对解决方案文件夹中文件的简短修改.但它们被视为项目中的实际文件(包括.CS或Visual Basic文件,它们将被编译为实际存在于项目中的文件).

PROS
缺点
Rya*_*ann 22
最好的办法,imo,就是滚动你自己的CDN ...基本上只是在IIS中创建另一个站点并给它自己的绑定,例如" http://cdn.somedomain.com "
然后将所有css/js/fonts/shared images等存储在CDN站点上,并从其他站点链接到它们.
这样做解决了2个问题,
我添加了这个答案,因为我看到很多人推荐创建虚拟目录.虽然这确实共享文件,但它为它们创建了多个下载路径,这极大地浪费了带宽.为什么让你的用户下载jquery.js(1*个站点数),你可以允许他们下载一次(cdn.somedomain.com).
此外,当我说浪费带宽时,我不只是谈论服务器带宽,我在谈论数据计划的移动用户......例如,我在我的手机上点击了我们公司的HR网站(保险等)一天,它消耗了250mb就在门外,下载了jquery和一堆东西,每次5次...在一个2GB的月份数据计划中,这样做的网站真的让我烦恼.
for*_*atc 11
在这里,IMO是最好和最简单的解决方案,我花了一个星期试图找到最好和最简单的方法,总是比专业人士更多的利弊:
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
...
Run Code Online (Sandbox Code Playgroud)
将以下内容添加到MvcApp1 - > Project - > MvcApp1 Properties - > Build events - > post build event:
start xcopy "$(SolutionDir)Resources\Shared\*" "$(SolutionDir)MvcApp1\Shared" /r /s /i /y
Run Code Online (Sandbox Code Playgroud)
以下是对它的作用的解释:包括来自引用程序集的构建操作内容文件目录,与bin目录处于同一级别
为MvcApp2做同样的事情.现在,每次构建后,新的静态文件将被复制到您的应用程序,您可以访问"〜/ Shared/css/site.css"等文件
如果你想要,你可以调整上面的命令将脚本从.dll复制到每个应用程序的脚本文件夹,这样你就可以将一些脚本移动到.dll而不必更改任何路径,这里是例子:
如果要在每次构建后仅将资源/共享/脚本中的脚本复制到MvcApp1 /脚本中:
start xcopy "$(SolutionDir)Resources\Shared\Scripts\*" "$(SolutionDir)MvcApp1\Scripts" /r /s /i /y
Run Code Online (Sandbox Code Playgroud)
这是一个迟到的答案,但微软已添加称为项目类型Shared Project出发Visual Studio 2013 Update 2,可以做你wan't什么,而不必link文件。
共享项目引用显示在解决方案资源管理器的“引用”节点下,但是共享项目中的代码和资产被视为链接到主项目的文件。
“在Visual Studio的早期版本中,您可以通过添加->现有项,然后选择链接来在项目之间共享源代码。但是这有点笨拙,每个单独的源文件都必须单独选择。不同的平台(iOS,Android等),他们决定通过添加共享项目的概念来简化项目之间的源共享。”
来自此线程的信息:
Visual Studio 2015中的共享项目和类库有什么区别?
| 归档时间: |
|
| 查看次数: |
35179 次 |
| 最近记录: |