出于某种原因,我必须将大量 C# 代码从 Visual Studio 2010 迁移到 Visual Studio 2008。
我编辑了 sln 文件以反射(reflect)更改
Microsoft Visual Studio Solution File, Format Version 11.00
至
Microsoft Visual Studio Solution File, Format Version 10.00
它允许将解决方案加载到 VS2008 中。之后我编辑了每个 csproj 以针对 Framework .NET 3.5
这允许项目编译
我可以在 Release模式下“正确”运行它(由于从 .NET 4.0 规范到 3.5 等效版本的修改而出现一些错误)
现在我在 Debug模式下收到以下错误消息
我的谷歌显示,我在搜索“您尝试调试的应用程序使用版本”时可能会搞砸注册表。它向我指出了 this page
我非常确定此页面上存在错误,其中引用了 2005 年和 2008 年帮助页面的 8.0。所以我这样做了,我创建了值为“v3.5”的注册表项 CLRVersionForDebugging
,就像 C:\Windows\Microsoft.NET\Framework
中的目录所示
现在我收到以下消息:
我找不到解决这个问题的相关信息。这是一个巨大的痛苦。我不想手动重新创建项目,有数百个源/配置文件。任何帮助将不胜感激。
这是一个无法调试的项目文件示例
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{61547F81-8F73-4E38-ACDB-B51253A90EBC}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FlowchartEditor</RootNamespace>
<AssemblyName>FlowchartEditor</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Editor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Editor.Designer.cs">
<DependentUpon>Editor.cs</DependentUpon>
</Compile>
<Compile Include="EditorMDI.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EditorMDI.Designer.cs">
<DependentUpon>EditorMDI.cs</DependentUpon>
</Compile>
<Compile Include="OutputSignalSelect.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OutputSignalSelect.Designer.cs">
<DependentUpon>OutputSignalSelect.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="PropertiesEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="PropertiesEditorDisplayUnit.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ToolboxForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ToolboxForm.Designer.cs">
<DependentUpon>ToolboxForm.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="Editor.resx">
<DependentUpon>Editor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="EditorMDI.resx">
<DependentUpon>EditorMDI.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="OutputSignalSelect.resx">
<DependentUpon>OutputSignalSelect.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="PropertiesEditor.resx">
<DependentUpon>PropertiesEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="ToolboxForm.resx">
<DependentUpon>ToolboxForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="app.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\flowchart\flowchart\flowchart\flowchart.csproj">
<Project>{4E7DDA00-651D-4CC0-833C-83E60ADE552B}</Project>
<Name>flowchart</Name>
</ProjectReference>
<ProjectReference Include="..\PluginMiddleMan\PluginMiddleMan.csproj">
<Project>{CDACB6A0-6DEC-48B6-B3B1-628968B50F5C}</Project>
<Name>PluginMiddleMan</Name>
</ProjectReference>
<ProjectReference Include="..\ToolBox\ToolBox.csproj">
<Project>{D937E1F4-1B9F-4567-B28E-EED24AA31C9C}</Project>
<Name>ToolBox</Name>
</ProjectReference>
<ProjectReference Include="..\WinFormsUI\WinFormsUI.csproj">
<Project>{C75532C4-765B-418E-B09B-46D36B2ABDB1}</Project>
<Name>WinFormsUI</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
最佳答案
如果您在 VS2008 中启动一个新的测试项目并进行调试,您是否会遇到同样的问题?如果没有,那么您最好创建新的 csproj 文件并将现有代码文件拖到新项目中。
就我个人而言,如果您的 Visual Studio 安装稳定(其他 r2008 项目构建正常),我宁愿走这条路,去破坏注册表中的全局状态。
关于c# - 从 C# 2010 降级到 2008 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893592/