我正在调试别人的工作,这个解决方案相当大。 当我尝试构建整个项目时,其中几个项目不会被构建,而是直接跳过。 在构建过程中查看输出窗口会显示:
1> ------ Skipped Rebuild All: Project: pr1lib ------
如何确定为什么跳过了这些构建? 我找不到其他的输出信息。
这是使用VS2008,解决方案由C#和C ++代码组成。
我正在调试别人的工作,这个解决方案相当大。 当我尝试构建整个项目时,其中几个项目不会被构建,而是直接跳过。 在构建过程中查看输出窗口会显示:
1> ------ Skipped Rebuild All: Project: pr1lib ------
如何确定为什么跳过了这些构建? 我找不到其他的输出信息。
这是使用VS2008,解决方案由C#和C ++代码组成。
右键单击解决方案,选择属性,然后选择配置属性。在这里,您可以选择要构建哪些项目。
[编辑]:
参见Kdt的评论:...当我查看配置属性时...项目构建目标配置为“混合平台”,而解决方案设置为构建“任何CPU”。
*当我遇到这个问题时,主项目仅有“任何CPU”,并将子dll设置为“任何CPU”,但是,我已删除了该配置文件,并只留下了'x86'。仅为dll选择x86使其开始工作
[/编辑]
{784BDC39-5783-4128-956E-99EA062FA8FB}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
变成了 {784BDC39-5783-4128-956E-99EA062FA8FB}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU
。唯一的区别是在行末添加了一个空格,即 "Any" 和 "CPU" 之间多了一个空格。 - Simon ElmsVisual Studio 2019
中起作用。由于C#和C++项目的混合,只有C++项目存在问题。手动选择C++项目上的“重建”可以重新构建源代码,但是“生成解决方案(F7)”则不行。这个答案指引了我正确的方向(谢谢!)=> 所有的C++项目都没有在解决方案中配置为构建。VS2019可能会关闭C++的构建,可能是出于效率考虑,也可能是由于“平台”设置。 - AlainD<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
。在配置管理器中,我发现了不匹配的问题:它不再自动添加发布配置。解决方法是添加<dummy Condition="'$(Configuration)' == 'Release'"></dummy>
。 - jifb构建、重新构建和清理操作被跳过了。卸载和重新加载没有帮助,重启Visual Studio也不行。
一旦我将项目从解决方案中删除并重新添加,就不再被跳过了。要删除它,在“解决方案资源管理器”中右键单击该项目 > 移除 > 确定。要重新添加它,在“解决方案资源管理器”中右键单击解决方案 > 添加 > 现有项目,然后选择您的项目。
我刚刚遇到了同样的问题——"卸载项目"和"重新加载项目"解决了这个问题!
重新启动Visual Studio即可解决问题。
我的解决方案与之前提到的相同:删除 -> 添加现有项目
但是此解决方法意味着项目间引用将消失
为避免需要重新添加引用: 并且 如果你使用版本控制系统 如GIT或TFS等,可以通过以下步骤实现目标:
确保在操作之前所有更改已提交/签入
浏览所有项目,从解决方案中删除它们并添加现有项目
请注意,.sln文件已更改
保留新的.sln文件,但使用版本控制系统撤消对所有.csproj文件的更改
我有一个奇怪的问题可能值得记录在这里作为其他可能性之一...
我把一个共享项目添加到我的解决方案中,其中包含了两个或三个其他项目中使用的代码。如您所知 - 共享项目只是代码,不是传统意义上的项目...你不能“构建”共享项目,它只是嵌入到其他项目中,并在那里构建。
但一些奇怪的事情发生了,我的解决方案文件被更新了,好像共享项目是需要构建的自己的东西。我猜想,如果任何时候我尝试构建,而且我没有更改共享项目中的代码,则会认为“没有变化,跳过构建”
我在solution.sln
文件中找到了共享项目:
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Api.Common", "Api.Common\Api.Common.shproj", "{EC580471-D78A-4509-AC46-BD565553AD60}"
这很好。但不好的是,这个项目也出现在GlobalSection(ProjectConfigurationPlatforms) = postSolution
中:
{EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.Build.0 = Release|Any CPU
我从我的.sln
文件中删除了这四行,现在一切似乎又恢复正常了。
我刚遇到了这个问题,通过删除顶层文件夹中隐藏的.vs文件夹后,问题得以解决。 重新启动Visual Studio之后,一切都恢复正常。
Visual Studio 2008可能是因为未安装64位编译器而出现问题。
控制面板 --> 程序和功能 --> Microsoft Visual Studio 2008专业版 --> [双击]
在Visual Studio对话框中
下一步 --> 添加/删除功能 --> (下方)Visual C++ --> (选择)x64编译器和工具
生成 > 配置管理器:根据需要进行勾选
。 - Metro Smurf