在.sln文件中设置Visual Studio默认启动项目的简单方法
昨天在一台电脑上用git新签出一个项目进行build,却出现一堆编译错误,而在原先的开发机上build无任何错误。对比分析后发现,开发机上VS的启动项目(startup project)与这台电脑上的不一样,改为一样后,build立马成功。看来问题与msbuild编译VS项目的顺序有关,而哪个项目作为启动项目会影响到这个编译顺序。
要避免这个问题,就要保证git签出的VS解决方案的启动项目是一致的,然而启动项目的设置并不保存在.sln文件中,而是保存在.suo文件中,但是.suo文件通常不放在git中,因为它经常变动。于是问题变成了——有没有办法直接在.sln文件中设置启动项目呢?
捣鼓了一会发现,如果不设置启动项目,Visual Studio会自动选择一个固定的项目作为启动项目,Visual Studio是根据什么作出这样的选择呢?用文本编辑器打开.sln文件分析后发现原来是第一个"Project...EndProject"。于是,解决方法一跃而出——修改.sln文件,将要设置为默认启动项目的项目的"Project...EndProject"放在第一个。
Project("{guid}") = "default startup project", "default startup project.csproj", "{guid}"
EndProject
...Other projects
在.sln文件中设置Visual Studio默认启动项目的简单方法的更多相关文章
- win10中让Visual Studio默认使用Administrator权限运行
https://stackoverflow.com/questions/9654833/how-to-run-visual-studio-as-administrator-by-default Win ...
- 在AndroidManifest.xml文件中设置Android程序的启动界面方法
从网上搜集了一堆的Android代码,比如Android的Login程序和Android的Helloworld程序,但是却总不能正确运行一个正确的程序,郁闷了很久,终于在一次一次的测试后成功的在And ...
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
C#编译器优化那点事 使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码 ...
- 通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率
原文:通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率 使用 Visual Studio 开发 C#/.NET 应用程序,以前有 ReSharper 来不足其各项功能短板 ...
- 1 分钟上手,在容器中运行 Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 这个插件允许我们在容器中运 ...
- 设置visual studio的小技巧
设置 Visual Studio 方法 1.设置关闭快捷键 Ctrl + W:关闭当前文档窗口 Ctrl + Q:关闭所有文档窗口 设置方法:工具-->选项-->键盘:在显示命令包含中输入 ...
- 在低带宽或不可靠的网络环境中安装 Visual Studio 2017
在低带宽或不可靠的网络环境中安装 Visual Studio 2017 2017-4-141 分钟阅读时长 作者 https://docs.microsoft.com/zh-cn/visualstu ...
- 虚幻引擎4设置Visual Studio
转自:http://www.unrealchina.net/portal.php?mod=view&aid=149 设置Visual Studio和虚幻引擎4协同工作有利于提高开发人员使用UE ...
- VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)
VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图) 1. 在资源窗口里新建一个FormView的Dialog,修改ID为 ...
随机推荐
- Spark MLlib之协同过滤
原文:http://blog.selfup.cn/1001.html 什么是协同过滤 协同过滤(Collaborative Filtering, 简称CF),wiki上的定义是:简单来说是利用某兴趣相 ...
- CSS盒子模型学习记录2
参考:http://www.blueidea.com/tech/web/2007/4545_2.asp 代码试验: html代码: <!DOCTYPE html PUBLIC "-// ...
- Linux下的段错误(Segmentation fault)
Linux开发中常见段错误问题原因分析 1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针.不存在的地址.受系统保护的地址,只读的地址等,这一类也是最常见和最好解决的段错误问题,使用G ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写以及读写分离
1.环境准备 前端Nginx:10.160.65.44 后端WEB服务器两台:10.160.65.49/10.160.65.50 2.安装Nginx: 下载nginx-1.9.15.tar.gz,放置 ...
- Linux socket 获得本地IP和广播地址
#include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netine ...
- swift 代码添加lable
let lable1 = UILabel(frame: CGRect(x: CGFloat(self.view.bounds.width/2-20), y: CGFloat(history.frame ...
- eclipse新建项目,报错“Error: workspace\appcompat_v7\res\values-v21\styles_base.xml No resource found that matches the given name”
新建项目报错,不知道为什么,以前从未出现过的错误,把sdk更新之后,出现莫名错误,自己也是一知半解,在网上找了好久的错误,终于在一个english网站找到了解决方法,soga,从未觉得english如 ...
- C# webApi 与 AngularJs 实现增删改Demo 讲解(一)
公司在使用webAPI+AngularJs+SlcikGrid进行产品开发,自己也是初学Angular,就做了一个Demo,实现增删改功能,希望可以帮助大家. 界面如同所示: 数据库一张单表很简单, ...
- Oracle题目
1. 创建一个函数fun_sal,该函数根据部门号获得该部门下所有员工的平均工资Create or replace function fun_sal(deptnos number)return var ...
- Where art thou
function where(collection, source) { var arr = []; // What's in a name? var keys = Object.keys(sourc ...