zoukankan      html  css  js  c++  java
  • C#项目的生成事件及批处理文件

    一个C#项目,如果为同一个解决方案的其他项目所引用,则其编译后,会将DLL拷贝到引用项目中;但如果它并不被其他项目引用,但又想编译后能够自动将生成的东西拷贝过去,可以在项目的生成事件中,写上一些批处理命令,拷贝指定的内容。

    项目的生成事件,可以右击项目,弹出菜单中选属性,即可见到。

    下面是一个批处理示例:

    SET Area=Test
    SET SolutionDir=D:svn	runkCodeSolution
    SET ProjectName=SubWeb
    
    set PluginDirectory="%SolutionDir%WebPlugins\%Area%"
    set PluginViewDirectory="%SolutionDir%WebPlugins\%Area%Views"
    set PluginBinDirectory="%SolutionDir%WebPlugins\%Area%in"
    set PluginContentDirectory="%SolutionDir%WebPlugins\%Area%Content"
    set PluginScirptsDirectory="%SolutionDir%WebPlugins\%Area%Scripts"
    set PluginWebConfig="%SolutionDir%WebPlugins\%Area%"
    set PluginTemplateDirectory="%SolutionDir%WebPlugins\%Area%Template"
    set PluginFunctionXmlFile="%SolutionDir%WebPlugins\%Area%"
    
    set ProjectViewDirectory="%SolutionDir%%ProjectName%Views"
    set ProjectBinDirectory="%SolutionDir%%ProjectName%in"
    set ProjectContentDirectory="%SolutionDir%%ProjectName%Content"
    set ProjectScirptsDirectory="%SolutionDir%%ProjectName%Scripts"
    set ProjectWebConfig="%SolutionDir%%ProjectName%Web.config"
    set ProjectTemplateDirectory="%SolutionDir%%ProjectName%Template"
    set ProjectFunctionXmlFile="%SolutionDir%%ProjectName%menu.xml"
    
    C:WindowsSystem32xcopy.exe /s /y %ProjectViewDirectory%*.cshtml %PluginViewDirectory%
    
    rem C:WindowsSystem32xcopy.exe /s /y %ProjectBinDirectory% %PluginBinDirectory%
    
    rem C:WindowsSystem32xcopy.exe /s /y %ProjectScirptsDirectory% %PluginScirptsDirectory%
    
    rem C:WindowsSystem32xcopy.exe /s /y %ProjectWebConfig% %PluginWebConfig%
    
    rem C:WindowsSystem32xcopy.exe /s /y %ProjectTemplateDirectory% %PluginTemplateDirectory%
    
    rem C:WindowsSystem32xcopy.exe /s /y %ProjectFunctionXmlFile% %PluginFunctionXmlFile%
    


    这样,每次这个项目编译的时候,之后就会触发这个事件。

    我们也可以将这些批处理命令写到一个批处理文件,然后在VS里添加一个指向该BAT的外部命令。这样在VS里就可以随时点击触发,方便得很。

    这种方法尤其适合只拷贝一些非DLL等无须编译的文件。

    添加外部命令的方法是在VS中,工具-外部工具,编辑好后,命令会自动出现在工具菜单中。


    版权声明:本文为博主原屙文章,喜欢你就担走。

  • 相关阅读:
    SQL Server 之 在与SQLServer建立连接时出现与网络相关的或特定于实例的错误
    T-SQL 之 概述
    HTML 之 Web页面表单form中只有一个input的text元素,按回车默认提交
    CollatingOfData 之 JsonHelper
    JavaScript 之 弹出窗口总结
    JavaScript 之 页面跳转及Frame动态加载
    XML 之 与Json或String的相互转换
    UML 之 类图(Class Dragram)
    Asp.Net 之 调用分享接口
    echo print() print_r() var_dump()的区别
  • 原文地址:https://www.cnblogs.com/leftfist/p/4764273.html
Copyright © 2011-2022 走看看