win7页面文件转移-(win7桌面文件转移)

常见问题 次浏览手机阅读
win7页文件转移 (win7桌面文件转移) 本文介绍了如何将 Windows 窗体桌面应用从 .NET Framework 迁移到 .NET SDK 格式或 .NET 6 或更高版本。 .NET SDK 支持 Windows 窗体应用程序。 Windows 窗体仍然只适用于 Windows 框架只能在 Windows 上运行。

将应用从 .NET Framework 迁移到 .NET SDK 格式或 .NET 6 通常需要新的项目文件。 NET 6 使用 SDK 项目文件的风格,和 .NET Framework 通常使用旧的 Visual Studio 项目文件。 如果你打开了文本编辑器 Visual Studio 你会知道项目文件有多详细。 SDK 项目风格小,不需要像旧版本的项目文件格式那样多的项目。

备份项目

搬迁项目的第一步是备份项目! 如有问题,可通过还原备份将代码恢复到原始状态。 不要依赖于 .NET 即使它们似乎能够完成备份,也可以移植分析器等工具来备份项目。 最好亲自创建原始项目的副本。

卸载项目,编辑项目文件

剪切所有内容,记事本.添加空白项目文件

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <!-- 选择你需要的方式 --> <TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net461</TargetFramework> <TargetFrameworks>net6.0-windows;net461;</TargetFrameworks> <!-- 若为库,则直接删除此句,库不需要定义 <OutputType> 设置--> <OutputType>WinExe</OutputType> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup></Project>

<RootNamespace>FreeRes2019</RootNamespace><AssemblyName>FreeRes2019</AssemblyName>节点

所有的 <PropertyGroup>单个节点内容 直接复制到新项目 <PropertyGroup> 下面

例如

<PropertyGroup> <RootNamespace>Freexxx2019</RootNamespace> <AssemblyName>Freexxx2019</AssemblyName></PropertyGroup><PropertyGroup> <GenerateManifests>false</GenerateManifests></PropertyGroup>

复制到

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <!-- 选择你需要的方式 --> <TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net461</TargetFramework> <TargetFrameworks>net6.0-windows;net461;</TargetFrameworks> <!-- 若为库,则直接删除此句,库不需要定义 <OutputType> 设置--> <OutputType>WinExe</OutputType> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <UseWindowsForms>true</UseWindowsForms> <!-- 复制到这里 --> <RootNamespace>Freexxx2019</RootNamespace> <AssemblyName>Freexxx2019</AssemblyName> <GenerateManifests>false</GenerateManifests> </PropertyGroup></Project>引用升级

直接复制到新项目文件

<Content Include="TSCLIB.dll"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>Reference Include 升级

<ItemGroup> <Reference Include="System" /> <Reference Include="System.Core" /> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="Microsoft.CSharp" /> <Reference Include="System.Data" /> <Reference Include=&电脑#34;System.Net.Http" /> <Reference Include="System.Xml" /> </ItemGroup>

新版

<ItemGroup> <Import Include="System" /> <Import Include="System.Core" /> <Import Include="System.Xml.Linq" /> <Import Include="System.Data.DataSetExtensions" /> <Import Include="Microsoft.CSharp" /> <Import Include="System.Data" /> <Import Include="System.Net.Http" /> <Import Include="System.Xml" /></ItemGroup>工程引用

删除 Project 和 Name复制过去的节点

<ItemGroup> <ProjectReference Include="..\\AME.FreeRes\\AME.FreeRes.csproj"> <Project>{bd216839-c870-4b5a-b3e3-46bd5f7d8d6d}</Project> 电脑 <Name>AME.FreeRes</Name> </ProjectReference> </ItemGroup>

复制为

<ItemGroup> <ProjectReference Include="..\\AME.FreeRes\\AME.FreeRes.csproj" /> </ItemGroup>Compile 一般不需要复制

<ItemGroup> <Compile Include="Attribute\\Attribute.cs" /> <Compile Include="DataTableBase.cs" /> ...</ItemGroup>NuGet 包

若项目引用 NuGet 包,项目文件夹可能包含 packages.config 文件。 对于 SDK 风格项目,NuGet 项目文件中配置了包引用。 对于 SDK 风格项目,NuGet 项目文件中配置了包引用。 Visual Studio 也可以选择定义项目文件 NuGet 包。 .NET 6 不会将 packages.config 用于 NuGet 包。 迁移前必须进行 NuGet 包引用迁移到项目文件中。

<ItemGroup> <PackageReference Include="Newtonsoft.Json"> <Version>13.0.1</Version> </PackageReference> </ItemGroup>

改为

电脑<ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> </ItemGroup>要迁移 packages.config 文件,请执行以下步骤:在解决方案资源管理器中找到要迁移的项目。右键单击“packages.config”>“将 packages.config 迁移到 PackageReference”。右键单击“packages.config”>“将 packages.config 迁移到 PackageReference选择所有顶级包。系统会生成一份生成报告,让你知道和迁移 NuGet 任何与包有关的问题。

库不需要定义 设置。 如需升级库项目,请删除该项目。

重载项目

将项目转换为 新的



电脑
喜欢 ()