首页 / 知识
关于C#:在Visual Studio(2005)下使用Makefile代替Solution / Project文件
2023-04-14 16:41:00

Using Makefile instead of Solution/Project files under Visual Studio (2005)与使用项目/解决方案安装程序相比,是否有人有使用Visual Studio C构建(在VS 2005下)生成文件的经验。对于我们来说,项目/解决方案的工作方式不直观,当您尝试使用特定的编译时标记来调整构建时,会导致配置爆炸。 在Unix下,很容易设置一个makefile,该文件的默认选项被用户设置(或其他配置设置)覆盖。但是在Visual Studio中执行这些类型的操作似乎很困难。 通过示例,我们有一个项目需要针对3个不同的平台进行构建。每个平台可能有几种配置(例如,调试,发布和其他几种)。我在一个新成立的项目中的目标之一是拥有一个可以使所有平台构建在一起的解决方案,这使构建和测试代码更改更加容易,因为您不必打开3个不同的解决方案来测试代码。但是Visual Studio将需要3 *(基本配置数量)配置。即PC调试,X360调试,PS3调试等。 似乎makefile解决方案在这里要好得多。包裹一些基本的批处理文件或脚本,可以很容易地将配置展开次数降至最低,并且只为我们要做的所有不同构建维护一小组文件。 但是,我在Visual Studio下没有makefile的经验,我想知道其他人是否有可以分享的经验或问题。 谢谢。 (编辑后提到这是C版本) 我发现大型项目的makefile有一些好处,主要与统一项目设置的位置有关。如果它们都在makefile或其他构建配置文件中,则管理源文件列表,包括路径,预处理器定义等会稍微容易一些。在具有多个配置的情况下,添加包含路径意味着您需要确保通过Visual Studio的简单项目属性手动更新每个配置,随着项目大小的增加,这可能会变得非常乏味。 使用大量自定义构建工具的项目也可以更轻松地进行管理,例如,如果您需要编译像素/顶点着色器,或者使用其他不具有本机VS支持的语言编写的代码。 但是,您仍然需要具有各种不同的项目配置,因为您需要区分每个配置对构建工具的调用(例如,传递不同的命令行选项以进行构建)。 立即想到的缺点:
此外,我们的构建服务器利用此功能并增加了1个任务,该任务正在生成Sandcastle文档。 如果您不喜欢XML,还可以看看Rake(ruby),Bake / BooBuildSystem(Boo)或Psake(PowerShell)。 n 您可以使用nant单独构建项目,从而替换解决方案,并且只有1个编码解决方案,而没有构建解决方案。 要记住的一件事是,vs 2005及更高版本中的解决方案和csproj文件是msbuild脚本。因此,如果您熟悉msbuild,则可以使用现有文件,使vs变得更容易,并使部署更容易。 |
最新内容
相关内容
改文件linux命令行?
改文件linux命令行?,地址,系统,工作,信息,数字,文件,命令,设备,密码,权限,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作命打包文件命令linux?
打包文件命令linux?,系统,时间,工具,名称,命令,文件,目录,格式,表示,详细信息,linux打包?打开终端并进入要打包的目录。使用cd命令切换到要打linux下文件写入命令?
linux下文件写入命令?,系统,信息,文件,名字,电脑,软件,目录,命令,内容,指令,linux虚拟机磁盘格式化和挂载后如何在挂载的目录里写入文件1、若linux安装强制命令行?
linux安装强制命令行?,机器人,软件,工作,工业,系统,地址,电脑,生产,设计,状态,罗布斯(机器人操作系统)1、罗布斯(机器人操作系统)可以应用于各种linux命令deb文件?
linux命令deb文件?,软件,位置,第一,系统,中心,工具,信息,发行,网站,管理系统,linux中deb如何安装?第一我们先下载一个deb格式的软件包,记住它的linux命令添加文件?
linux命令添加文件?,工作,简介,数据,系统,文件,命令,操作,文件名,内容,终端,linux哪些指令可以创建文件终端下键入:touch加文件名,这样就创建了linux命令行安装应用?
linux命令行安装应用?,软件,系统,名称,官网,在线,管理,工作,信息,命令,目录,linux常用安装软件的命令最后依次输入以下命令:./configure --preflinux文件输入命令?
linux文件输入命令?,工作,系统,地址,信息,工具,位置,命令,设备,发行,首开,linux中使用vi指令后怎么输入?1、[Ctrl]+[f]:屏幕向下移动一页,相当于文件备份命令linux?
文件备份命令linux?,网站,系统,设备,文件,软件,网络,工具,环境,数据,地址,linux怎么备份数据库(linux如何备份mysql数据库)1、将MYSQL数据放在linux遍历文件命令?
linux遍历文件命令?,系统,数据,工具,文件,平台,信息,百度,位置,时间,适当,linux遍历文件每一行会变化吗1、自我实现 首先需要将所有的文件读取linux命令查看小文件?
linux命令查看小文件?,系统,档案,文件夹,标准,软件,单位,文件,命令,大小,内容,linux下怎么查看文件夹中各个文件的大小df可以查看一级文件夹大linux文件中剪切命令?
linux文件中剪切命令?,位置,系统,工作,命令,发行,连续,标准,终端,文件,目录,linux怎么粘贴粘贴与复制快捷键 Shift + Ctrl + c:复制。Shift + C