我在vs2010中有一个C#项目,它有几个构建选项(Debug,Release,Debug x86,Debug I Just New A New Hat等),因为有些人在添加项目方面有点过分。
我想将所有这些恢复为四种基本构建类型:
我删除了一个项目,将该项目中的sln显然不再存在于解决方案中,然后将其添加回来,但显然项目的设置已保存。有没有办法完全从构建管理器中删除这些无关的项目,并从头开始创建一个新的SLN文件?
解决此问题的动力是解决方案中的某个项目不允许进行x64构建。如果我尝试为该项目创建x64构建,构建管理器会声明x64构建已经存在,即使显然没有。构建管理器不允许我删除构建模式,只是添加它们,但它不允许我添加x64,这是我需要的。
答案 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配置。