我正在使用 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/