Asp NET在不同的解决方案中共享html组件

时间:2015-02-19 11:44:04

标签: javascript html css asp.net-mvc visual-studio

我有常见的asp.net mvc项目。

我有一个包含把手模板,javascript模块和样式表的模块。 该模块用于不同的页面并放在div标签内的某个位置。

新要求是将此模块用于其他解决方案。但我不想只复制和粘贴与模块相关的所有文件(js,html,css),因为很难将其维护到不同的解决方案中。

所以,我的问题是我应该以什么方式组织这个模块只被声明一次并用于不同的解决方案。

1 个答案:

答案 0 :(得分:1)

我之前有过相同的要求,这就是我处理它的方式:

移动您的共享内容

在我的解决方案中,我添加了一个新的Shared文件夹并创建了一个Shared项目。你不一定要进入一个新项目,我只是这样做,因为共享项目还包括共享的MVC逻辑。

将链接的共享文件添加到解决方案

重要的是要知道这一步是可选的,它只是帮助开发人员,因为文件仍然在预期的位置。现在你已经拥有了Project1Project2Shared。现在在Project1(例如)中,将您的文件单独添加回来。但请按照以下步骤操作:

  1. 右键单击要将文件添加到
  2. 的文件夹
  3. 将鼠标悬停在Add上,然后选择Existing Item
  4. 导航到Shared项目中的文件,然后选择文件
  5. 点击“添加”之前,请注意箭头
  6. 点击此按钮,然后选择Add as Link
  7. 这样做的好处是,当您在Project2中单击解决方案资源管理器中的文件时,它将在Shared中打开该文件。

    添加预构建事件

    在使用Shared文件的每个项目中,您需要添加Pre Build Events。目前,虽然项目包含对共享文件的引用,但在运行项目时它实际上不会执行任何操作。解决方案是构建事件:

    1. 右键单击您的项目,然后选择Properties
    2. 在菜单
    3. 中选择Build Events
    4. Pre-build event command line部分中输入以下内容:

      xcopy /R /E /Y "$(SolutionDir)SharedProject\Scripts" "$(ProjectDir)Scripts"

    5. 解释:这将复制共享项目中scripts目录的内容,并将其添加到(或替换)当前项目脚本目录中。您需要为每个文件夹添加一行(例如HTML,CSS等)