Skip to main content

Visual Studio 命令行

今天需要在命令行下使用Visual Studio进行编译,搜了以下,发现msbuild可以,然后又搜了搜,发现devenv可以带参数在命令行下运行,我以前只知道它可以进到IDE里。

在链接的网站里找到了这个:


用法:
devenv [solutionfile | projectfile | anyfile.ext] [switches]

可以调用 devenv,用第一个参数指定解决方案文件或项目文件。也可以调用 devenv,使第一个参数作为要在编辑器中打开的任何其他类型的文件。如果提供项目文件,IDE 将通过在与项目文件相同的目录中查找与项目文件具有相同基名称的 .sln 文件,在解决方案的上下文中打开该项目文件。如果存在 .sln 文件,则IDE 将查找引用该项目的单个 .sln 文件。如果不存在这样的单个 .sln 文件,则 IDE 将创建一个具有默认 .sln 文件名的未保存的解决方案,而该默认文件名与项目文件具有相同的基名称。

命令行生成:
devenv solutionfile.sln /build solutionconfig [ /project projectnameorfile [ /projectconfig name ] ]

可用的命令行开关:

/build 生成指定的解决方案配置
/project 指定生成项目而不是解决方案
必须指定 /build 才能使用 /project
/projectconfig 指定要生成的项目配置
必须指定 /project 才能使用 /projectconfig
/out 将生成结果写入指定的文件
/rebuild 与 /build 类似,但先执行强制清理
/clean 清理生成结果
/deploy 生成指定的解决方案配置然后部署它
/run 运行指定的解决方案配置
/runexit 运行指定的解决方案配置然后终止
/command 启动后执行指定的内部命令行
/mditabs 使用选项卡式文档界面
/mdi 使用 MDI 界面
/fn 使用指定的字体名称
/fs 使用指定的字体大小
/LCID 使用指定的语言 ID
/noVSIP 禁用用于 VSIP 测试的VSIP 开发人员许可证密钥
/safemode 出于稳定性仅加载默认的环境和服务
/resetskippkgs 允许曾被标记为加载失败的 VsPackages再次加载
/migratesettings 迁移另一个版本中的某些用户设置

产品特定的开关:

/debugexe 打开要调试的指定可执行文件。命令行的其余部分作为它的参数传递到此执行文件。
/useenv 使用 PATH、INCLUDE、LIBPATH 和 LIB 环境变量而不是使用 VC++ 生成的 IDE 路径。

若要从命令行附加调试器,请使用:
vs7jit.exe -p

比较常用的就是 devenv filename.sln /build release 了

Comments

Popular posts from this blog

Determine Perspective Lines With Off-page Vanishing Point

In perspective drawing, a vanishing point represents a group of parallel lines, in other words, a direction. For any point on the paper, if we want a line towards the same direction (in the 3d space), we simply draw a line through it and the vanishing point. But sometimes the vanishing point is too far away, such that it is outside the paper/canvas. In this example, we have a point P and two perspective lines L1 and L2. The vanishing point VP is naturally the intersection of L1 and L2. The task is to draw a line through P and VP, without having VP on the paper. I am aware of a few traditional solutions: 1. Use extra pieces of paper such that we can extend L1 and L2 until we see VP. 2. Draw everything in a smaller scale, such that we can see both P and VP on the paper. Draw the line and scale everything back. 3. Draw a perspective grid using the Brewer Method. #1 and #2 might be quite practical. #3 may not guarantee a solution, unless we can measure distances/p...

Qubes OS: First Impressions

A few days ago, while browsing security topics online, Qubes OS surfaced—whether via YouTube recommendations or search results, I can't recall precisely. Intrigued by its unique approach to security through compartmentalization, I delved into the documentation and watched some demos. My interest was piqued enough that I felt compelled to install it and give it a try firsthand. My overall first impression of Qubes OS is highly positive. Had I discovered it earlier, I might have reconsidered starting my hardware password manager project. Conceptually, Qubes OS is not much different from running a bunch of virtual machines simultaneously. However, its brilliance lies in the seamless desktop integration and the well-designed template system, making it far more user-friendly than a manual VM setup. I was particularly impressed by the concept of disposable VMs for temporary tasks and the clear separation of critical functions like networking (sys-net) and USB handling (sys-usb) into the...

Exploring Immutable Distros and Declarative Management

My current server setup, based on Debian Stable and Docker, has served me reliably for years. It's stable, familiar, and gets the job done. However, an intriguing article I revisited recently about Fedora CoreOS, rpm-ostree, and OSTree native containers sparked my curiosity and sent me down a rabbit hole exploring alternative approaches to system management. Could there be a better way? Core Goals & Requirements Before diving into new technologies, I wanted to define what "better" means for my use case: The base operating system must update automatically and reliably. Hosted services (applications) should be updatable either automatically or manually, depending on the service. Configuration and data files need to be easy to modify, and crucially, automatically tracked and backed up. Current Setup: Debian Stable + Docker My current infrastructure consists of several servers, all running Debian Stable. System Updates are andled automatically via unattended-upgrades. Se...