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

时间:2011-04-11 17:49:21

标签: c# visual-studio-2010

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

通常我不建议这样做,但您可能需要使用记事本或您喜欢的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配置。