我正在尝试将我的网络资源,图像/ JS / CSS拆分到我的Visual Studio解决方案中的另一个项目中,以便我可以在所有项目中共享它。
我已尝试根据以下链接进行设置
How do you share scripts among multiple projects in one solution?
但是我一直在
找不到网络资源'/Scripts/myscript.js。
我正在使用“添加为链接”来链接来自不同项目的资源,但他们看不到会在构建时被复制。
由于
答案 0 :(得分:1)
这是一种更好的方法。
使用
中的信息Copy file(s) from one project to another using post build event...VS2010
和
http://greenicicleblog.com/2010/12/01/link-whole-directories-into-visual-studio-projects/#comments
我在项目的旁边创建了一个名为WebAssets的文件夹。我将所有脚本,CSS和图像复制到此文件夹中。
然后我添加了
<Content Include="..\WebAssets\**\*.*">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
</Content>
到我的csproj文件
这在我发布网站时有效,但在构建后没有。本地网络服务器继续抱怨丢失文件。
所以我在项目中添加了一个post build事件,就像这样。
<PropertyGroup>
<PostBuildEvent>xcopy /S /Y "$(SolutionDir)WebAssets" "$(ProjectDir)" </PostBuildEvent>
</PropertyGroup>
这会将WebAssets文件夹中的所有文件复制到正确的位置。
答案 1 :(得分:0)
这个例子是迄今为止我提出的最佳方式
http://www.codeproject.com/Articles/12997/WebResource-ASP-NET-2-0-explained
但是我并不热衷于它,因为这意味着我必须在AssemblyInfo.cs文件中创建许多手动条目,然后修改css和js以指向图像。像这样
<img src='<%=WebResource("MyWebResourceProj.MyResources.Test.gif")%>'>