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


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

  • 相关阅读:
    VUE图片懒加载-vue lazyload插件的简单使用
    vuejs+axios发送请求
    Vue2.0+Node.js+MongoDB全栈打造商城系统
    Vue基础知识之vue-resource和axios
    vue-resource
    css3 转换 过渡 及动画
    css sticky footer布局
    vue 前端生成二维码 (带图标)
    微信小程序学习四
    tradingview绘制K线周期切换保留指标
  • 原文地址:https://www.cnblogs.com/leftfist/p/4764273.html
Copyright © 2011-2022 走看看