Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义项目文件以编译项目并压缩msBuild中的整个调试文件夹_C#_Visual Studio 2012_Msbuild - Fatal编程技术网

C# 自定义项目文件以编译项目并压缩msBuild中的整个调试文件夹

C# 自定义项目文件以编译项目并压缩msBuild中的整个调试文件夹,c#,visual-studio-2012,msbuild,C#,Visual Studio 2012,Msbuild,类库及其依赖项编译到调试文件夹中。如何使用此方案自动执行此项目: 1.编制项目 2.删除调试文件夹中的一些附加文件,如.pdb 3.在root中修改某些aspx文件(可选)(删除webforms中的母版页属性) 4.将整个调试文件夹压缩到一个文件中,该文件除了通常的文件外还有其他扩展名(例如:.foo)。我假定您不需要帮助来创建MSBuild任务以满足第一个条件 要删除文件和压缩,请尝试以下操作: <Import Project="$(MSBuildExtensionsPath)\MSBu

类库及其依赖项编译到调试文件夹中。如何使用此方案自动执行此项目:

1.编制项目

2.删除调试文件夹中的一些附加文件,如.pdb

3.在root中修改某些aspx文件(可选)(删除webforms中的母版页
属性)


4.将整个调试文件夹压缩到一个文件中,该文件除了通常的文件外还有其他扩展名(例如:.foo)。

我假定您不需要帮助来创建
MSBuild
任务以满足第一个条件

要删除文件和压缩,请尝试以下操作:

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<Target Name="SomeTarget">

<ItemGroup>
    <FilesToDelete Include="Path\To\Debug\*.pdb"/>
    <DebugApplicationFiles Include="Path\To\Debug\*.*"/>
</ItemGroup>

<Delete Files="@(FilesToDelete)" />

<Zip Files="@(DebugApplicationFiles)"
  WorkingDirectory="Path\To\Debug"
  ZipFileName="Where\To\Store\Zip\Foo.zip"
  ZipLevel="9" />
</Target>

显然,您可以将这些值(“Where\To\store\Zip”和“Path\To\Debug”)存储在
元素中定义的变量中,但为了简洁起见,我省略了这些值

您必须详细说明修改aspx页面的含义,但这通常可以通过MSBuild实现


zip任务可通过可通过nuget安装的项目获得:
安装包MSBuildTasks

错误1未找到“zip”任务。检查以下内容:1.)项目文件中任务的名称与任务类的名称相同。2.)任务类是“公共”的,并实现Microsoft.Build.Framework.ITask接口。3.)该任务在项目文件中或位于“C:\Windows\Microsoft.NET\Framework\v4.0.30319”目录中的*.tasks文件中正确声明为。我将您的代码段插入到
中,我是从NuGet安装的,但编译时出现错误,
MSBuildCommunity
的路径不存在尝试替换
$(MSBuildExtensionsPath)
包含安装MSBuildTasks的完整路径请确保正确设置了
DebugApplicationFiles
属性,并且此zip操作运行时该文件夹位置不为空。如果在
Debug
下的子目录中有文件,请使用
path\to\Debug\***.
我可以看到正在压缩这些文件o一个单独的文件。但是wh@cking您的pdb文件?请阅读以下内容:“所有开发人员都需要知道的最重要的事情:pdb文件与源代码一样重要!”