zoukankan      html  css  js  c++  java
  • MSBuild 项目属性以及任务参考

    MSBuild 任务参考

    任务提供运行在生成过程的代码。 在以下任务列表包含 MSBuild。 安装时 Visual C++ ,可使用其他任务来生成 Visual C++ 项目。 有关更多信息,请参见 特定于 Visual C++ 的 MSBuild 任务

    除了在本节中的主题列表的参数外,还具有以下参数:

     

    参数

    说明

    Condition

    选项 String 参数。

    MSBuild 引擎用来确定的 Boolean 表达式是否执行此任务。 有关由 MSBuild支持的条件的信息,请参见 MSBuild 条件

    ContinueOnError

    选项 Boolean 参数

    是否运行的目标指定其余任务的 Boolean 值,如果此任务失败。 ,因为 Execute 方法引发异常或返回 false,任务会失败。

    如果 ContinueOnError 设置为 true,余下的任务运行的和失败不会导致整个目标失败。

    如果 ContinueOnError 设置为 false,余下的任务未运行,整个目标失败。

    默认情况下, ContinueOnErrorfalse

    任务:
     
    任务基类

    添加一些参数。 Task 从类派生的任务。

    TaskExtension 基类

    添加一些参数。 TaskExtension 从类派生的任务。

    ToolTaskExtension 基类

    添加一些参数。 ToolTaskExtension 从类派生的任务。

    AL(程序集链接器)任务

    生成一个具有清单的程序集是从模块或资源文件的一个或多个文件。

    AspNetCompiler 任务

    包装 aspnet_compiler.exe,实用工具预编译 ASP.NET 应用程序。

    AssignCulture 任务

    分配区域性标识符到项目中。

    AssignProjectConfiguration 任务

    接受配置字符串列表并将其分配给指定的项目。

    AssignTargetPath 任务

    ,如果尚未指定接受文件的列表,并添加 <TargetPath> 属性。

    CallTarget 任务

    调用项目文件的目标。

    CombinePath 任务

    指定的路径组合为单个路径。

    ConvertToAbsolutePath 任务

    相对路径或引用转换为绝对路径。

    Copy 任务

    将文件复制到新的位置。

    CreateCSharpManifestResourceName 任务

    创建一个从给定的 .resx 文件名或其他资源的一个 Visual C#样式的清单名称。

    CreateItem 任务

    输入项填充项目集合,允许项从一个列表复制到另一个。

    CreateProperty 任务

    输入值填充属性,允许将值从一个属性或字符串复制到另一个。

    CreateVisualBasicManifestResourceName 任务

    创建一个从给定的 .resx 文件名或其他资源的一个 Visual Basic样式的清单名称。

    Csc 任务

    调用 Visual C# 编译器生成可执行文件、动态链接库或代码模块。

    Delete 任务

    删除指定的文件。

    Error 任务

    停止生成错误,并根据计算的条件语句的记录。

    Exec 任务

    运行指定的程序或命令使用指定的参数。

    FindAppConfigFile 任务

    查找 app.config 文件,如果有,在提供的列表。

    FindInList 任务

    查找在具有匹配的项规范的项的项目指定列表。

    FindUnderPath 任务

    确定指定的项目集合的项存在于指定的文件夹及其所有子文件夹。

    FormatUrl 任务

    将 URL 转换为正确的 URL 格式。

    FormatVersion 任务

    追加版本号上。

    GenerateApplicationManifest 任务

    生成清单。 ClickOnce 的应用程序或本机清单。

    GenerateBootstrapper 任务

    提供一种自动化的方式发现,下载和安装应用程序及其系统必备组件。

    GenerateDeploymentManifest 任务

    生成清单。 ClickOnce 的部署。

    GenerateResource 任务

    将 .txt 和为公共语言运行时二进制 .resources 文件的 .resx 文件。

    GenerateTrustInfo 任务

    生成和基本应用程序信任从 TargetZoneExcludedPermissions 参数指示,和。

    GetAssemblyIdentity 任务

    从指定的文件和输出检索程序集标识标识信息。

    GetFrameworkPath 任务

    检索路径。 .NET Framework 程序集。

    GetFrameworkSdkPath 任务

    检索的路径 Windows 软件开发包 (SDK)。

    GetReferenceAssemblyPaths 任务

    返回各种框架的引用程序集路径。

    LC 任务

    生成 .license 文件从 .licx 文件。

    MakeDir 任务

    创建目录,并且,如果需要,在中,所有父目录。

    Message 任务

    在生成期间记录消息。

    Move 任务

    将文件移至新位置。

    MSBuild 任务

    生成另一个 MSBuild 项目的 MSBuild 项目。

    ReadLinesFromFile 任务

    读取项列表从文本文件。

    RegisterAssembly 任务

    读取指定程序集中的元数据并添加注册表中添加必要的项。

    RemoveDir 任务

    移除指定的目录及其所有文件和子目录。

    RemoveDuplicates 任务

    移除重复从指定的项目集合中的项。

    RequiresFramework35SP1Assembly 任务

    确定应用程序是否需要 .NET framework 3.5 SP1。

    ResGen 任务

    过时。 使用 GenerateResource 任务 任务来回公共语言运行时二进制 .resources 文件将 .txt 和 .resx 文件。

    ResolveAssemblyReference 任务

    确定依赖指定程序集的所有程序集。

    ResolveComReference 任务

    获取一个或多个的列表类型库名称或 .tlb 文件并解决这些类型库到磁盘上的位置。

    ResolveKeySource 任务

    确定强名称密钥源

    ResolveManifestFiles 任务

    解决在生成过程中的以下各项到清单生成的文件:生成的项目,依赖项,附属,内容,调试符号和文档。

    ResolveNativeReference 任务

    解析本机引用。

    ResolveNonMSBuildProjectOutput 任务

    确定非 MSBuild 项目引用的输出文件。

    SGen 任务

    创建一个 XML 序列化程序对指定程序集中的类型。

    SignFile 任务

    使用指定的证书,若要为指定的文件。

    Touch 任务

    设置文件的访问和修改时间。

    UnregisterAssembly 任务

    COM 互操作的指定程序集的预期取消。

    UpdateManifest 任务

    更新清单中的所选属性并重新签名。

    Vbc 任务

    调用 Visual Basic 编译器生成可执行文件、动态链接库或代码模块。

    Warning 任务

    记录在根据计算的条件语句的生成过程的警告。

    WriteCodeFragment 任务

    使用指定的生成代码片段,生成一个临时代码文件。 不会删除该文件。

    WriteLinesToFile 任务

    写入指定的文本文件中的指定项。

    XmlPeek 任务

    返回 XPath 查询指定的值从 XML 文件。

    XmlPoke 任务

    XPath 查询指定的值设置为 XML 文件。

    XslTransformation 任务

    转换 XML 输入使用 可扩展样式表语言转换 (xslt) 或生成 XSLT 和输出到输出设备或文件。

    对于所有 Visual Studio 项目,不论其项目类型如何,都有一些通用的 MSBuild 属性。 而且,还有其他一些常用的属性。 下面列出了通用属性和常用属性。


    通用属性和参数的列表

    属性或参数名

    说明

    AdditionalLibPaths

    指定其他文件夹,编译器将在这些文件夹中查找引用程序集。

    AddModules

    使编译器让指定文件中的所有类型信息可供正在编译的项目使用。 此属性等效于 /addModules 编译器开关。

    ALToolPath

    可以找到 AL.exe 的路径。 此属性将重写 AL.exe 的当前版本,从而允许使用其他版本。

    ApplicationIcon

    要传递给编译器以作为 Win32 图标嵌入的 .ico 图标文件。 该属性等效于 /win32icon 编译器开关。

    ApplicationManifest

    指定用于生成外部用户帐户控制 (UAC) 清单信息的文件的路径。 它仅适用于面向 Windows Vista 的 Visual Studio 项目。

    在大多数情况,该清单是嵌入的。 但如果使用免注册的 COM 或 ClickOnce 部署,则该清单可以是随应用程序程序集一起安装的外部文件。 有关更多信息,请参见本主题中的 NoWin32Manifest 属性。

    AssemblySearchPaths

    要在生成时引用程序集解析期间搜索的位置列表。 路径在此列表中的出现顺序是有含义的,因为先列出的路径优先于后列出的条目。

    AssemblyName

    生成项目后的最终输出程序集的名称。

    BaseAddress

    指定主输出程序集的基址。 此属性等效于 /baseaddress 编译器开关。

    BaseOutputPath

    指定输出文件的基路径。 如果设置此属性,MSBuild 将使用 OutputPath = $(BaseOutputPath)\$(Configuration)\ 语法示例:<BaseOutputPath>c:\xyz\bin\</BaseOutputPath>

    BaseIntermediateOutputPath

    指定输出文件的基中间路径。 语法示例:<BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>

    BuildInParallel

    一个布尔值,指示在使用多处理器 MSBuild 时并行生成还是清理项目引用。 默认值为 true,该值表示如果系统有多个核心或处理器,则将并行生成项目。

    BuildProjectReferences

    一个布尔值,指示是否由 MSBuild 生成项目引用。 如果在 Visual Studio 集成开发环境 (IDE) 中生成项目,则设置为 false;否则设置为 true

    BaseIntermediateOutputPath

    在其中创建所有配置特定的中间输出文件夹的顶级文件夹。 默认值为 obj\。

    CleanFile

    将用作“清理缓存”的文件的名称。清理缓存是要在清理操作期间删除的已生成文件的列表。 该文件由生成过程放在中间输出路径中。

    此属性只指定没有路径信息的文件名。

    CodePage

    指定要用于编译中所有源代码文件的代码页。 此属性等效于 /codepage 编译器开关。

    CompilerResponseFile

    可以传递给编译器任务的可选响应文件。

    配置

    正在生成的配置,为“调试”或“发布”。

    CscToolPath

    Visual C# 编译器 csc.exe 的路径。

    CustomBeforeMicrosoftCommonTargets

    要在公用目标导入前自动导入的项目文件或目标文件的名称。

    DebugSymbols

    一个布尔值,指示是否由生成来生成符号。

    在命令行中设置 /p:DebugSymbols=false 会禁用程序数据库 (.pdb) 符号文件的生成。

    DefineConstants

    定义条件编译器常数。 符号/值对是使用下面的语法指定的,并且彼此之间用分号分隔:

    symbol1 = value1 ; symbol2 = value2

    该属性等效于 /define 编译器开关。

    DefineDebug

    一个布尔值,指示是否定义 DEBUG 常量。

    DefineTrace

    一个布尔值,指示是否定义 TRACE 常量。

    DebugType

    定义要生成的调试信息的级别。 有效值为“full”、“pdbonly”和“none”。

    DelaySign

    一个布尔值,指示是否对程序集进行延迟签名,而不对其进行完整签名。

    DisabledWarnings

    禁止显示指定的警告。 只有警告标识符的数值部分是必须指定的。 多个警告之间用分号分隔。 此参数对应于 vbc.exe 编译器的 /nowarn 开关。

    DisableFastUpToDateCheck

    一个只适用于 Visual Studio 的布尔值。 Visual Studio 生成管理器使用名为 FastUpToDateCheck 的进程来确定项目是否必须重新生成才能保持最新。 此进程比使用 MSBuild 来确定这一点更快。 通过将 DisableFastUpToDateCheck 属性设置为 true,可以跳过 Visual Studio 生成管理器,并强制生成管理器使用 MSBuild 来确定项目是否为最新版本。

    DocumentationFile

    作为 XML 文档文件生成的文件的名称。 此名称只包含文件名,不包含路径信息。

    ErrorReport

    指定编译器任务报告内部编译器错误的方式。 有效值为“prompt”、“send”或“none”。此属性等效于 /errorreport 编译器开关。

    ExcludeDeploymentUrl

    GenerateDeploymentManifest 任务 如果项目文件中包含以下元素中的任何部署清单中添加 deploymentProvider 标记:

    • UpdateUrl

    • InstallUrl

    • PublishUrl

    但是,通过使用 ExcludeDeploymentUrl,可以防止向部署清单中添加 deploymentProvider 标记,即使指定了上述任何 URL 也不例外。若要实现此目的,请在项目文件中添加以下属性:

    <ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

    说明说明
    ExcludeDeploymentUrl 并不在 Visual Studio IDE 中公开,并且只能通过手动编辑项目文件进行设置。设置此属性不会影响 Visual Studio 中的发布操作;即,仍然向 PublishUrl 指定的 URL 中添加 deploymentProvider 标记。

    FileAlignment

    指定输出文件各部分的对齐位置,以字节为单位。 有效值为 512、1024、2048、4096 和 8192。 此属性等效于 /filealignment 编译器开关。

    FrameworkPathOverride

    指定 mscorlib.dll 和 microsoft.visualbasic.dll 的位置。 此参数等效于 vbc.exe 编译器的 /sdkpath 开关。

    GenerateDocumentation

    一个布尔型参数,指示是否由生成来生成文档。 如果设置为 true,生成过程将生成文档信息,并将此信息与生成任务所创建的可执行文件或库的名称一同放置在 .xml 文件中。

    IntermediateOutputPath

    如果未指定路径,则为从 BaseIntermediateOutputPath 派生的完整中间输出路径。 例如 \obj\debug\。 如果此属性被重写,则设置 BaseIntermediateOutputPath 不起任何作用。

    KeyContainerName

    强名称密钥容器的名称。

    KeyOriginatorFile

    强名称密钥文件的名称。

    NoWin32Manifest

    确定编译器是否在输出程序集中生成默认的 Win32 清单。 默认值 false 表示为所有应用程序生成默认的 Win32 清单。 此属性等效于 vbc.exe 的 /nowin32manifest 编译器开关。

    ModuleAssemblyName

    要将编译好的模块并入其中的程序集的名称。 该属性等效于 /moduleassemblyname 编译器开关。

    NoLogo

    一个指示是否关闭编译器徽标的布尔值。 此属性等效于 /nologo 编译器开关。

    NoStdLib

    一个指示是否避免引用标准库 (mscorlib.dll) 的布尔值 默认值为 false

    NoVBRuntimeReference

    一个布尔值,指示是否应将 Visual Basic 运行时 (Microsoft.VisualBasic.dll) 包括为项目中的引用。

    NoWin32Manifest

    一个布尔值,指示是否将用户帐户控制 (UAC) 清单信息嵌入在应用程序的可执行文件中。 它仅适用于面向 Windows Vista 的 Visual Studio 项目。 使用部署项目中ClickOnce免注册 COM,此元素将被忽略。False(默认值) 指定的用户帐户控制 (UAC) 清单信息嵌入到应用程序的可执行文件中。 True 指定不嵌入 UAC 清单信息。

    此属性仅适用于针对 Windows Vista 的 Visual Studio 项目。 在使用 ClickOnce 和免注册的 COM 部署的项目中,将忽略此属性。

    只有在不希望 Visual Studio 在应用程序的可执行文件中嵌入任何清单信息时,才应该添加 NoWin32Manifest;此过程称为“虚拟化”。 若要使用虚拟化,请按照下列方式设置 <ApplicationManifest><NoWin32Manifest>

    • 对于 Visual Basic 项目,请移除 <ApplicationManifest> 节点 (在 Visual Basic 项目中,如果存在 <ApplicationManifest> 节点,将忽略 <NoWin32Manifest>)。

    • 对于 Visual C# 项目,请将 <ApplicationManifest> 设置为 False 并将 <NoWin32Manifest> 设置为 True (在 Visual C# 项目中,<ApplicationManifest> 会重写 <NoWin32Manifest>)。

    Optimize

    一个布尔值,在设置为 true 时,允许进行编译器优化。 此属性等效于 /optimize 编译器开关。

    OptionCompare

    指定如何进行字符串比较。 有效值为“binary”或“text”。此属性等效于 vbc.exe 的 /optioncompare 编译器开关。

    OptionExplicit

    一个布尔值,设置为 true 时,要求在源代码中显式声明变量。 此属性等效于 /optionexplicit 编译器开关。

    OptionInfer

    一个布尔值,设置为 true 时,允许进行变量的类型推理。 此属性等效于 /optioninfer 编译器开关。

    OptionStrict

    一个布尔值,设置为 true 时,将使得生成任务强制使用严格类型语义来限制隐式类型转换。 此属性等效于 vbc.exe 编译器的 /optionstrict 开关。

    OutputPath

    相对于项目目录,例如“bin\Debug”,指定输出目录的路径。

    OutputType

    指定输出文件的文件格式。 此参数可以具有下列值之一:

    • Library。 创建一个代码库。 (默认值。)

    • Exe。 创建控制台应用程序。

    • Module。 创建一个模块。

    • Winexe。 创建一个基于 Windows 的程序。

    此属性等效于 vbc.exe 编译器的 /target 开关。

    OverwriteReadOnlyFiles

    一个布尔值,指示要让生成覆盖只读文件还是触发错误。

    PdbFile

    正在发出的 .pdb 文件的文件名。 此属性等效于 csc.exe 编译器的 /pdb 开关。

    平台

    生成所面向的操作系统。 有效值为“AnyCPU”、“x86”、“x64”或“Itanium”。

    RemoveIntegerChecks

    一个布尔值,指示是否禁用整数溢出错误检查。 默认值为 false 此属性等效于 vbc.exe 编译器的 /removeintchecks 开关。

    SGenUseProxyTypes

    一个布尔值,指示是否应由 SGen.exe 生成代理类型。

    SGen 目标使用此属性来设置 UseProxyTypes 标志。 此属性默认为 true,并且没有更高属性的 UI。 若要生成非 webservice 类型的序列化程序集,请在导入 Microsoft.Common.Targets 或 C#/VB.targets 之前将此属性添加到项目文件并将其设为 false。

    SGenToolPath

    一个可选的工具路径,指示在当前版本的 SGen.exe 被重写时可以获得 SGen.exe 的位置。

    StartupObject

    指定包含 Main 方法或 Sub Main 过程的类或模块。 此属性等效于 /main 编译器开关。

    ProcessorArchitecture

    解析程序集引用时使用的处理器架构。 有效值为“msil”、“x86”、“amd64”或“ia64”。

    RootNamespace

    在命名嵌入资源时要使用的根命名空间。 此命名空间属于嵌入资源清单名称的一部分。

    Satellite_AlgorithmId

    在创建附属程序集时要使用的 AL.exe 哈希算法的 ID。

    Satellite_BaseAddress

    在使用 CreateSatelliteAssemblies 目标生成特定于区域性的附属程序集时要使用的基址。

    Satellite_CompanyName

    要在附属程序集生成期间传入 AL.exe 的公司名称。

    Satellite_Configuration

    要在附属程序集生成期间传入 AL.exe 的配置名称。

    Satellite_Description

    要在附属程序集生成期间传入 AL.exe 的说明文本。

    Satellite_EvidenceFile

    在具有资源名称“Security.Evidence”的附属程序集中嵌入指定文件。

    Satellite_FileVersion

    为附属程序集中的“文件版本”字段指定字符串。

    Satellite_Flags

    指定附属程序集中“标志”字段的值。

    Satellite_GenerateFullPaths

    使生成任务对错误消息中报告的所有文件使用绝对路径。

    Satellite_LinkResource

    将指定的资源文件链接至某个附属程序集。

    Satellite_MainEntryPoint

    指定方法的完全限定名称(即 class.method),以用作在附属程序集生成期间将模块转换为可执行文件时的入口点。

    Satellite_ProductName

    为附属程序集中的“产品”字段指定字符串。

    Satellite_ProductVersion

    为附属程序集中的“ProductVersion”字段指定字符串。

    Satellite_TargetType

    将附属程序集输出文件的文件格式指定为“library”、“exe”或“win”。默认值为“library”。

    Satellite_Title

    为附属程序集中的“标题”字段指定字符串。

    Satellite_Trademark

    为附属程序集中的“商标”字段指定字符串。

    Satellite_Version

    指定附属程序集的版本信息。

    Satellite_Win32Icon

    在附属程序集中插入一个 .ico 图标文件。

    Satellite_Win32Resource

    在附属程序集中插入一个 Win32 资源(.res 文件)。

    SubsystemVersion

    指定的最低版本,可以使用生成的可执行文件的子系统。 此属性等效于 /subsystemversion 编译器开关。 此属性的默认值的信息,请参阅/subsystemversion (Visual Basic)/subsystemversion(C# 编译器选项)

    TargetCompactFramework

    运行您所生成的应用程序所需要的 .NET Compact Framework 的版本。 通过指定此属性,您可以引用否则将无法引用的某些 Framework 程序集。

    TargetFrameworkVersion

    运行所生成的应用程序所需要的 .NET Framework 的版本。 通过指定此属性,您可以引用否则将无法引用的某些 Framework 程序集。

    TreatWarningsAsErrors

    一个布尔型参数,如果设置为 true,则会导致将所有警告都视为错误。 此参数等效于 /nowarn 编译器开关。

    UseHostCompilerIfAvailable

    一个布尔型参数,如果设置为 true,则会使得生成任务使用进程内编译器对象(如果可用)。 此参数只供 Visual Studio 使用。

    Utf8Output

    一个布尔型参数,如果设置为 true,则使用 UTF-8 编码记录编译器输出。 此参数等效于 /utf8Output 编译器开关。

    VbcToolPath

    一个可选路径,在当前版本的 vbc.exe 被重写时它可以指示 vbc.exe 的另一个位置。

    VbcVerbosity

    指定 Visual Basic 编译器输出的详细级别。 有效值为“Quiet”、“Normal”(默认值)或“Verbose”。

    WarningsAsErrors

    指定将被视为错误的警告的列表。 此参数等效于 /warnaserror 编译器开关。

    WarningsNotAsErrors

    指定不被视为错误的警告的列表。 此参数等效于 /warnaserror 编译器开关。

    Win32Manifest

    应嵌入最终程序集中的清单文件的名称。 此参数等效于 /win32Manifest 编译器开关。

    Wint32Resource

    要嵌入最终程序集中的 Win32 资源的文件名。 此参数等效于 /win32resource 编译器开关。

    作者:立雪三尺
    出处:http://www.cnblogs.com/songsz1/
    我滴生命是如此滴辉煌!我滴生活是如此滴灿烂!
    关于作者:初出茅庐,职场菜鸟。静如瘫痪,动若癫痫。!姓名不知,生死不详! 如有问题或建议,请多多赐教! 如无,出门左转是政府。
    本文版权归作者所有,欢迎转载,不一定非得在显眼处给出原文链接
    如有想不开的暴击我
    最后严重警告:本文作者真的是名程序员。

  • 相关阅读:
    HTB靶场记录之Cronos
    大家好,我是菜菜子,Can’t RCE安全团队队长
    Linux进阶教程丨第11章:归档和传输文件
    Java自动化审计(上篇)
    HTB靶场记录之Arctic
    Linux进阶教程丨第14章:管理基本存储和管理逻辑卷
    博客园文章自定义的图片放大功能失效修复
    caffeine配置及注意事项
    CR和LF
    Capsulebased Object Tracking with Natural Language Specification AHU
  • 原文地址:https://www.cnblogs.com/songsz1/p/2694962.html
Copyright © 2011-2022 走看看