使用Visual Studio进行编译

  • 设置Solution中各个Project的configuration和platform
    • 分为solution和project的configuration和platform,project的configuration和platform只能从solution的configuration和platform中选,即只能选择project属于哪一组solution configuration+platform,因为编译时从工具栏或编译选项中选的是solution的configuration和platform,就像是一组编译配置。
    • Solution下的每个project可以分别配置要使用的configuration和platform
    • Configuration
      • 翻译成配置,但可以理解成编译模式,一般默认就是Debug和Release,可以理解成一组platform,Debug和Relase都只是这个组的名字,也可以自己命名。
      • 选项
        • Debug
        • Release
        • 自定义(可自行添加)
          • 可以自己起名字
          • 但一般都是从Debug或Release复制配置,因为Debug和Release已经包含一些编译配置(如编译器选项如是否有Debug信息)?
    • Platform
      • 编译模式,即把project编译成什么平台的机器码?
      • 选项
        • Mixed Platforms
        • Any CPU
        • .NET
        • x64
        • x86
        • 自定义(可自行添加)
          • 不可以自己起名字,因为一般人不会设置这种底层的编译配置(如怎么编译成机器码)?
          • 但一般都是从现有platform复制配置,因为已经包含一些编译配置(如怎么编译成机器码)?
    • 可以在哪里配置
      • 工具栏上的configuration和platform下拉菜单,只是用于选择solution configuration和solution platform,即按solution来一起切换所有project的编译配置,就像一个分组一样。
      • 在Build->Configuration Manger统一配置solution和各个project的configuration和platform
        • 可以在solution范围内自定义configuration和platform,并为各个project设置
      • 在每个project的properties窗口的Build和Debug中设置使用哪个solution configuration&platform
      • 直接修改sln文件
        • 前面两处的配置在保存后,最终其实都是体现在sln文件中
        • 每一行的key是项目的配置|平台,=后面的value是解决方案的配置|平台,也就是说各个project所使用的configuration和platform都只可以从solution的里面来选。
        • 一般每个project都有xxx.ActiveCfg这一行,说明该project配置的configuration和platform,即每个project都要配置。
        • 有xxx.Build.0这一行的话,就说明如果选了这一行指明的solution的configuration和platform,就会编译此project。相当于在Configuration Manager中,选了这一行指明的solution的configuration和platform时,该project勾选了Build复选框。
        • {1F2020AD-E03D-4341-B66A-F96DF2151719}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        • {1F2020AD-E03D-4341-B66A-F96DF2151719}.Debug|Any CPU.Build.0 = Debug|Any CPU
        • {1F2020AD-E03D-4341-B66A-F96DF2151719}.Release|Any CPU.ActiveCfg = Release|Any CPU
        • {1F2020AD-E03D-4341-B66A-F96DF2151719}.Release|Any CPU.Build.0 = Release|Any CPU
  • 设置项目编译所基于的.NET版本
    • 在每个project的properties窗口中选择
    • 有些项目有最低的版本要求,比如Unit Test项目要求3.5以上
  • 设置项目编译的输出类型
    • 在每个project的properties窗口中选择
  • 设置项目的引用/依赖
    • 不同的项目类型的管理方式有所不同
      • 一般的项目类型在References中手动管理或使用Nuget来管理
      • website类型的项目要在Property Pages中管理
      • .NET Core类型的项目在Dependencies下面管理各种类型的引用/依赖,活用Nuget来管理
    • 可以使用object browser来查看引用的每个dll下有哪些命名空间及其包含的文件
原文地址:https://www.cnblogs.com/wyp1988/p/14411904.html