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中,工具-外部工具,编辑好后,命令会自动出现在工具菜单中。


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

  • 相关阅读:
    Composite in Javascript
    Model Validation in Asp.net MVC
    HttpRuntime.Cache vs. HttpContext.Current.Cache
    Controller Extensibility in ASP.NET MVC
    The Decorator Pattern in Javascript
    The Flyweight Pattern in Javascript
    Model Binding in ASP.NET MVC
    Asp.net MVC
    jQuery Ajax 实例 全解析
    ASP.NET AJAX入门系列
  • 原文地址:https://www.cnblogs.com/leftfist/p/4764273.html
Copyright © 2011-2022 走看看