c# - .NET (Visual Studio) 在项目之间共享 Assets

标签 c# asp.net-mvc visual-studio

我正在使用 Visual Studio。我有一个包含多个网络项目(.net MVC 4)的解决方案。所有这些网络项目都使用相同的 javascript-libs。目前我将库复制到每个项目中,但这不是最终的解决方案。在所有项目之间共享这些库(一般 Assets )的最佳方法是什么?只是链接他们?或者是否可以创建一个项目并在所有项目中引用它?

更新

“链接”来自另一个项目的 javascript 文件不是一个可行的解决方案,因为我必须链接数千个文件(我正在使用的库之一是 ExtJs)是什么让它成为现实不卡住 visual studio 就不可能构建项目...

可能的解决方案

目前我有一个名为“Web”的(Web)MVC 项目和一个名为“ClientScript”的(类库)项目,其中包含在多个 Web 项目之间共享的所有 JavaScript 文件。由于链接所有需要的 JavaScript 文件不是一个可能的解决方案(因为这是导致 visual studio 卡住的数千个文件的问题)我使用每个 Web 项目中的构建事件将所有需要的 JavaScript 文件复制到各个项目(项目 -> 属性 -> 构建事件 -> 构建后)。 我在 Web 项目中的构建后命令行如下所示:

start xcopy "$(SolutionDir)ClientScript\Frontend\*" "$(SolutionDir)Web\Scripts" /r /s /i /y /D /E

每次构建 Web 项目时,所有更改的 Javascript 文件都会从 ClientScript 项目复制到您的 Web 项目。

在开发 Javascript 时,我运行了一个小型“filewatcher”工具,它会在文件发生变化时自动将文件从 ClientScript 项目复制到每个 Web 项目。这样我就不必在每次更改其中一个 Javascript 时都构建 Web 项目。

最佳答案

以后在这里遇到这个问题的任何人都应该知道,Visual Studio 中现在有共享项目来解决这个问题。通用 Windows 项目默认使用它们,您可以通过在此处下载和安装 VS 扩展来创建自己的项目:https://visualstudiogallery.msdn.microsoft.com/315c13a7-2787-4f57-bdf7-adae6ed54450

注意:此时他们可能会挑剔您尝试添加共享引用的项目类型。我创建了一个 JavaScript 共享项目来在 Windows 商店 js 应用程序和 MVC 网络应用程序之间共享 js 文件,但它不允许我这样做,说它们必须使用相同的语言。 (它支持 C#、C++ 或 JavaScript)。

关于c# - .NET (Visual Studio) 在项目之间共享 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20049109/

相关文章:

c# - IIS 7 托管模块无法获取内容长度或发送的字节数

c# - 找不到名称时统一容器可以解析默认类型吗?

c# - SignalR 在 Hub 或 Controller 中实现 CRUD 方法

html - 使用 tbody 的新 css 在表中创建可滚动的 tbody

c# - Visual Studio 2017,无法调试或运行应用程序

c# - 自动页码编号

c# - DateTime.Today.ToString ("dd/mm/yyyy") 返回无效的日期时间值

asp.net-mvc - 从 Flash 向 Asp.Net MVC 应用程序执行 http Post 的正确方法是什么?

android - 创建 Xamarin Android F# 项目

visual-studio - Visual Studio 如何测量测试单元中的 block 覆盖百分比?