如何在Visual Studio中引用其他项目的Web资源

时间:2013-08-12 10:55:21

标签: visual-studio-2010

我正在尝试将我的网络资源,图像/ JS / CSS拆分到我的Visual Studio解决方案中的另一个项目中,以便我可以在所有项目中共享它。

我已尝试根据以下链接进行设置

How do you share scripts among multiple projects in one solution?

但是我一直在

找不到网络资源'/Scripts/myscript.js。

我正在使用“添加为链接”来链接来自不同项目的资源,但他们看不到会在构建时被复制。

由于

2 个答案:

答案 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")%>'>