//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.