Visual StudioのC#プロジェクトで共通的に設定しておく内容を記載します。
※項目や内容は弊社の基準を紹介するもので、弊社以外では異なることもあります。
.NET Frameworkのプロジェクトファイル(.csproj)をSDKスタイル形式に移行します。
SDKスタイル形式は、従来の形式に比べ、記述する内容がシンプルかつ分かり易くなっています。
また、複数のファイルに分かれていた定義をプロジェクトファイルに統合して管理できます。
.NET Standardや.NET Coreプロジェクトでは、SDKスタイル形式で作成されています。
NuGetパッケージの参照をプロジェクトファイル(.csproj)に統合するため、参照方法をPackageReferenceに変更します。
オプション設定Visual Studioのツールバーから『ツール』➡『オプション』でオプション設定を開きます。
PackageReferenceへの変更オプションの『NuGetパッケージマネージャー』➡『全般』➡『パッケージの管理』で既定のパッケージ管理形式を『PackageReference』に変更します。
『OK』でオプション設定を閉じます。
これで、新規に作成されるプロジェクトでは、NuGetパッケージの参照方法がPackageReferenceで作成されます。
オプション設定を変更しても既存プロジェクトのNuGetパッケージ参照方法はpackages.configのままですので、PackageReferenceに移行します。
PackageReferenceへ移行Visual Studioのソリューションエクスプローラーで『packages.config』を右クリックして『packages.configをPackageReferenceに移行する(M)…』を選択します。
移行前確認移行対象のNuGetパッケージ一覧が表示されます。
『OK(O)』で移行が開始されます。
移行中移行中が完了すると、ブラウザ画面が表示されます。
プロジェクトファイル(.csproj)をSDKスタイル形式にアップグレードします。
アップグレードは、.NET Upgrade Assistant拡張機能で行います。
拡張機能の管理検索ボックスに『upg』と入力して『.NET Upgrade Assistant』を検索します。
『インストール』でインストールを予約します。
.NET Upgrade Assistantをインストールするため、Visual Studioを終了します。
インストーラーの起動インストーラーが起動します。
『Modify』でインストールを開始します。
インストールの実行中インストールの実行中です。
終了するまで待ちます。
インストールの完了インストールが完了しました。
『Close』で終了します。
.NET Upgrade Assistant拡張機能をインストールしたら、Visual Studioでソリューションを開きます。
プロジェクトのアップグレードソリューションエクスプローラーでアップグレードするプロジェクトを右クリックします。
『アップグレード(U)』を選択します。
SDKスタイルに変換する『プロジェクトをSDKスタイルに変換する』を選択します。
SDKスタイルに変換中変換の実行中です。
終了するまで待ちます。
SDKスタイルに変換完了変換が完了しました。
Properties\AssemblyInfo.csで定義していた内容をプロジェクトファイル(.csproj)で定義するようにします。
プロジェクトファイルの編集ソリューションエクスプローラーで編集するプロジェクトを右クリックします。
『プロジェクトファイルの編集』を選択します。
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Version>xx.xx.xx.xx</Version> </PropertyGroup> <PropertyGroup> <TargetFramework>net48</TargetFramework> : <GenerateAssemblyInfo>false</GenerateAssemblyInfo> </PropertyGroup> : <PropertyGroup> <PackageId>ProgressLLC.Example</PackageId> <AssemblyName>ProgressLLCExample</AssemblyName> <RootNamespace>$(PackageId)</RootNamespace> <Title>ProgressLLC Example</Title> <AssemblyTitle>プログレス合同会社例題プログラム</AssemblyTitle> <Description>Progress LLC Example</Description> <Company>プログレス合同会社</Company> <Product>$(PackageId)</Product> <Copyright>Copyright Progress LLC</Copyright> <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> <Authors>Progress LLC</Authors> </PropertyGroup> :
アセンブリ情報をプロジェクトファイル(.csproj)で定義しますので、Properties\AssemblyInfo.csの定義を削除します。
: // アセンブリに関する一般情報は以下を通して制御されます // 制御されます。アセンブリに関連付けられている情報を変更するには、 // これらの属性値を変更してください。 : [assembly: AssemblyCulture("")] : // アセンブリのバージョン情報は、以下の 4 つの値で構成されています: : [assembly: AssemblyFileVersion("xx.xx.xx.xx")]