繁体   English   中英

如何在vs2010中修复损坏的构建管理器?

[英]How do I fix a corrupted build manager in vs2010?

我在vs2010中有一个C#项目,它有几个构建选项(Debug,Release,Debug x86,Debug I Just New A New Hat等),因为有些人在添加项目时有点过分了。

我想将所有这些恢复为四种基本构建类型:

  1. 调试x86
  2. 发布x86
  3. 调试x64
  4. 发布x64

我删除了一个项目,将该项目显然不再存在于解决方案中,然后将其添加回来,但显然项目的设置已保存。 有没有办法完全从构建管理器中删除这些无关的项目,并从头开始创建一个新的SLN文件?

解决此问题的动力是解决方案中的一个项目不允许进行x64构建。 如果我尝试为该项目创建x64构建,构建管理器会声明x64构建已经存在,即使显然没有。 构建管理器不允许我删除构建模式,只是添加它们,但它不允许我添加x64,这是我需要的。

最快的方法是手动编辑记事本中的.proj文件,删除所有文件

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NewHat|x64' ">...</PropertyGroup>

每个配置的元素。 然后通过再次编辑记事本中的.sln文件来删除不需要的解决方案配置。 它们很容易被发现。 删除后,您应该能够在VS中打开解决方案并在配置管理器中进行设置

替代方案是使用宏或VS EnvDTE类来自动化该过程,但这可能是一个坚果的大锤。

通常我不建议这样做,但您可能需要使用记事本或您喜欢的XML编辑器并更改csproj文件的内容。 我不喜欢推荐这种方法的原因是,如果编辑错误,最终可能会出现项目损坏。

显然你应该在开始之前备份所有东西,这样如果一切都变成了梨状,你至少可以恢复到现在的状态。

理想情况下,您可以深入了解源代码控制系统,并在未破坏时从后面获取csproj文件的副本,并将其用作项目形状良好的csproj文件的粗略指南。

您还可以使用与项目相同的模板创建一个全新的C#项目,并使用该项目的csproj文件作为事物应该是什么样的另一个指南。

如果您很幸运,您的csproj文件将包含许多PropertyGroup项,其中一些将具有标识该组适用的特定构建组合的条件。 例如...

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
    <OutputPath>bin\x64\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

如果删除不再需要的配置组并删除任何似乎适用于x64的配置,您可能会发现构建管理器将允许您添加x64配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM