Msbuild 创建发布下拉列表
所以,我使用了MSBuild,但这是几年前的事了 我想为解决方案创建一个发布版本,一旦构建,它会将所有文件复制到一个变量集文件夹“ReleaseDrop”中,并压缩内容。 在压缩之前,我希望确保它只复制必要的文件(即没有pdb、没有sln、没有csproj、没有.cs文件(但允许使用.cshtml)或只复制某些目录,并排除目录中的其他目录Msbuild 创建发布下拉列表,msbuild,Msbuild,所以,我使用了MSBuild,但这是几年前的事了 我想为解决方案创建一个发布版本,一旦构建,它会将所有文件复制到一个变量集文件夹“ReleaseDrop”中,并压缩内容。 在压缩之前,我希望确保它只复制必要的文件(即没有pdb、没有sln、没有csproj、没有.cs文件(但允许使用.cshtml)或只复制某些目录,并排除目录中的其他目录 我该怎么做呢?这应该是一个开始。它指定了要包含在发行版中的一组文件,将它们复制到一个目录并将其压缩。对于我安装后使用的zip部分,您也可以使用7z左右的可压缩
我该怎么做呢?这应该是一个开始。它指定了要包含在发行版中的一组文件,将它们复制到一个目录并将其压缩。对于我安装后使用的zip部分,您也可以使用7z左右的可压缩版本,并将其与Exec任务一起使用
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<Import Project="$(MSBuildExtensionsPath)\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks"/>
<!--default values for properties if not passed-->
<PropertyGroup>
<ProjectDir Condition="'$(ProjectDir) == ''">C:\Projects\MyProject</ProjectDir>
<ReleaseDrop Condition="'$(ReleaseDrop) == ''">c:\Projects\MyProject\ReleaseDrop</ReleaseDrop>
</PropertyGroup>
<!--build list of files to copy-->
<ItemGroup>
<SourceFiles Include="$(ProjectDir)\bin\*.exe" Exclude="$(ProjectDir)\bin\*test*.exe"/>
<SourceFiles Include="$(ProjectDir)\bin\*.cshtml" />
</ItemGroup>
<!--copy files-->
<Target Name="CopyFiles">
<MakeDir Directories="$(ReleaseDrop)" />
<Copy SourceFiles="@(SourceFiles)" DestinationFolder="$(ReleaseDrop)" />
</Target>
<!--after files are copied, list them then zip them-->
<Target Name="MakeRelease" DependsOnTargets="CopyFiles">
<ItemGroup>
<ZipFiles Include="$(ReleaseDrop)\*.*"/>
</ItemGroup>
<Zip ZipFileName="$(ReleaseDrop)\release.zip" Files="@(ZipFiles)" WorkingDirectory="$(ReleaseDrop)"/>
</Target>
</Project>
C:\Projects\MyProject
c:\Projects\MyProject\ReleaseDrop
可以像这样调用
msbuild <name of project file> /t:MakeRelease /p:ProjectDir=c:\projects
msbuild/t:MakeRelease/p:ProjectDir=c:\projects
请提供更多信息。要复制的文件的位置是什么?它们是否都在同一个目录中?文件的位置应该无关紧要-它们可能应该设置在可以引用的属性/变量中。但是,为了方便起见,整个project/bin文件夹所在的位置是C:\Projects\MyProjects、 然后我想构建那个sln,成功构建后,将所有文件复制到另一个文件夹(不包括某些文件夹或文件类型),然后将其压缩