zoukankan      html  css  js  c++  java
  • Macros for Build Commands and Properties

    //z 2012-5-17 12:35:17 PM IS2120@CSDN
    Pre:
    IF NOT EXIST $(IntDir)..\..\lib mkdir $(IntDir)..\..\lib
    Post:
    copy $(IntDir)$(ProjectName).lib $(IntDir)..\..\lib
    upx.exe $(OutDir)../xxx.dll

    //z 2012-5-17 12:47:52 PM IS2120@CSDN
    Add a call statement before all post-build commands that run .bat files. For example,call C:\MyFile.bat orcall C:\MyFile.bat call C:\MyFile2.bat.
    Pre-build events do not run if the project is up to date and no build is triggered.

    You can use a MSBuild task on your csproj, like that.

    Edit your csproj file

      <Target Name="AfterBuild">
        <Copy SourceFiles="$(OutputPath)yourfiles" DestinationFolder="$(YourVariable)" ContinueOnError="true" />
      </Target>
    

    You can use these macros anywhere in a project's Property Pages dialog box where strings are accepted. These macros are not case sensitive.

    Macro Description

    $(RemoteMachine)

    Set to the value of the Remote Machine property on the Debug property page. SeeChanging Project Settings for a C/C++ Debug Configuration for more information.

    $(References)

    A semicolon delimited list of references added to the project.

    $(ConfigurationName)

    The name of the current project configuration (for example, "Debug").

    $(PlatformName)

    The name of current project platform (for example, "Win32").

    $(Inherit)

    Specifies the order in which inherited properties appear in the command line composed by the project build system. By default, inherited properties appear at the end of the current property.1

    $(NoInherit)

    Causes any properties that would otherwise be inherited, to not be inherited. To also prevent evaluation at the sibling level, use$(StopEvaluating). The use of$(NoInherit) causes any occurrences of$(Inherit) to be ignored for the same property.1

    $(StopEvaluating)

    Immediately stops the evaluation of a macro in the evaluation chain. Any values that appear after$(StopEvaluating) will not appear in the evaluated value of the macro. If$(StopEvaluating) precedes$(Inherit), the inherited value at the current location in the evaluation chain will not be concatenated to the macro value.$(StopEvaluating) is a superset of the functionality of$(NoInherit).

    $(ParentName)

    Name of the item containing this project item. This will be the parent folder name, or project name.

    $(RootNameSpace)

    The namespace, if any, containing the application.

    $(IntDir)

    Path to the directory specified for intermediate files relative to the project directory. This resolves to the value for theIntermediate Directory property.

    $(OutDir)

    Path to the output file directory, relative to the project directory. This resolves to the value for theOutput Directory property.

    $(DevEnvDir)

    The installation directory of Visual Studio .NET (defined as drive + path); includes the trailing backslash '\'.

    $(InputDir)

    The directory of the input file (defined as drive + path); includes the trailing backslash '\'. If the project is the input, then this macro is equivalent to $(ProjectDir).

    $(InputPath)

    The absolute path name of the input file (defined as drive + path + base name + file extension). If the project is the input, then this macro is equivalent to $(ProjectPath).

    $(InputName)

    The base name of the input file. If the project is the input, then this macro is equivalent to $(ProjectName).

    $(InputFileName)

    The file name of the input file (defined as base name + file extension). If the project is the input, then this macro is equivalent to $(ProjectFileName).

    $(InputExt)

    The file extension of the input file. It includes the '.' before the file extension. If the project is the input, then this macro is equivalent to $(ProjectExt).

    $(ProjectDir)

    The directory of the project (defined as drive + path); includes the trailing backslash '\'.

    $(ProjectPath)

    The absolute path name of the project (defined as drive + path + base name + file extension).

    $(ProjectName)

    The base name of the project.

    $(ProjectFileName)

    The file name of the project (defined as base name + file extension).

    $(ProjectExt)

    The file extension of the project. It includes the '.' before the file extension.

    $(SolutionDir)

    The directory of the solution (defined as drive + path); includes the trailing backslash '\'.

    $(SolutionPath)

    The absolute path name of the solution (defined as drive + path + base name + file extension).

    $(SolutionName)

    The base name of the solution.

    $(SolutionFileName)

    The file name of the solution (defined as base name + file extension).

    $(SolutionExt)

    The file extension of the solution. It includes the '.' before the file extension.

    $(TargetDir)

    The directory of the primary output file for the build (defined as drive + path); includes the trailing backslash '\'.

    $(TargetPath)

    The absolute path name of the primary output file for the build (defined as drive + path + base name + file extension).

    $(TargetName)

    The base name of the primary output file for the build.

    $(TargetFileName)

    The file name of the primary output file for the build (defined as base name + file extension).

    $(TargetExt)

    The file extension of the primary output file for the build. It includes the '.' before the file extension.

    $(VSInstallDir)

    The directory into which you installed Visual Studio .NET.

    $(VCInstallDir)

    The directory into which you installed Visual C++ .NET.

    $(FrameworkDir)

    The directory into which the .NET Framework was installed.

    $(FrameworkVersion)

    The version of the .NET Framework used by Visual Studio. Combined with $(FrameworkDir), the full path to the version of the .NET Framework use by Visual Studio.

    $(FrameworkSDKDir)

    The directory into which you installed the .NET Framework SDK. The .NET Framework SDK could have been installed as part of Visual Studio .NET or separately.

    $(WebDeployPath)

    The relative path from the web deployment root to where the project outputs belong. Returns the same value asRelativePath.

    $(WebDeployRoot)

    The absolute path to the location of <localhost>. For example, c:\inetpub\wwwroot.

    $(SafeParentName)

    The name of the immediate parent in valid name format. For example, a form is the parent of a .resx file.

    $(SafeInputName)

    The name of the file as a valid class name, minus file extension.

    $(SafeRootNamespace)

    The namespace name in which the project wizards will add code. This namespace name will only contain characters that would be permitted in a valid C++ identifier.

    $(FxCopDir)

    The path to the fxcop.cmd file. The fxcop.cmd file is not installed with all Visual C++ editions.

    1. Use the Command Line Property Page for the property to see how properties are inherited. SeeSpecifying Project Settings with Property Pages for more information on property inheritance. SeeUsing $(Inherit) and $(NoInherit) for usage examples.


  • 相关阅读:
    NFramework开源AOP框架设计文档
    gdi+学习笔记(1)
    winform 二进制图片处理
    电脑屏幕分辨率多少合适
    c# winform AutoScaleMode属性 转
    Windows server 2008,Windows server 2008 R2,Windows 2008 SP2 区别
    视频分辨率
    ref和out(MSDN)
    转DirectX、Directshow介绍
    shell 命令的使用
  • 原文地址:https://www.cnblogs.com/IS2120/p/6746012.html
Copyright © 2011-2022 走看看