AutoCAD .NetFrameWorkから.Net8.0に移植したプロジェクトファイルをビルドする方法

AutoCADのカスタム開発を行う際、.NET Framework から .NET 8.0(旧 .NET Core 8.0)への移行は、アプリケーションのパフォーマンス向上や最新機能の活用に向けた重要なステップです。しかし、移行プロセスには多くの課題が伴います。

その一つに、プロジェクトのビルドエラーやソリューションエクスプローラー上の「!」マークの問題があります。これらの問題は、開発環境や依存関係の変更によって引き起こされることが多く、解決しなければプロジェクトのビルドやデバッグに支障をきたします。

本記事では、.NET Framework 4.8 で作成された AutoCAD のプロジェクトを .NET 8.0 に移行する際に発生する一般的なビルドエラーとその解決方法について詳しく解説します。特に、ソリューションエクスプローラー上でプロジェクトファイルに「!」マークが表示される問題に焦点を当て、その原因と具体的な対処方法をステップバイステップで説明します。

前提条件

AutoCAD .NetFrameWorkから.Net8.0に移植したプロジェクトファイルをビルドする方法を行っている事。

・開発環境:VisualStudio2022

不具合詳細

.NetFrameWork4.8で作成したプロジェクトファイルを.NetCore8.0にアップグレードした際、ソリューションエクスプローラー上でいくつかのプロジェクトファイルのアイコンに「!」がついた。

「!」がついたプロジェクトファイルはビルドをしてもスキップされるため、対応が必要だった。

対処法

①「!」がついているプロジェクトファイルを削除

まず、ソリューションエクスプローラー上で「!」がついているプロジェクトファイルを右クリックして削除します。これにより、Visual Studioから問題のあるプロジェクトを一旦取り除きます。

②「ファイルを開く」アイコンを押下

次に、Visual Studioの上部にある「ファイルを開く」アイコンを押下します。これにより、ファイルを再度開く準備をします。

➂削除したプロジェクトファイルを選択し開く

「ファイルを開く」ダイアログボックスで、削除したプロジェクトファイル(.vbproj または .csproj)を選択し、開きます。これにより、プロジェクトファイルがVisual Studioに再度読み込まれます。

④ソリューションエクスプローラーに戻る

プロジェクトファイルを開いたら、ソリューションエクスプローラー画面に戻ります。ここで、再度プロジェクトファイルが表示されていることを確認します。

⑤「ソリューション」を右クリックし、「追加」を押下

次に、ソリューションを右クリックし、表示されるコンテキストメニューから「追加」を押下します。

⑥「既存のプロジェクト」を選択

「追加」メニューから「既存のプロジェクト」を選択し、③で開いたプロジェクトファイルを再度選択して開きます。これにより、プロジェクトファイルがソリューションに再追加されます。

以上の①~⑥の手順を行うことで、ソリューションエクスプローラー上に削除したプロジェクトファイルが再追加されると同時に、プロジェクトファイルのアイコンに「!」マークが消え、ビルド作業ができるようになります。

以上の①~⑥を行うことでソリューションエクスプローラー上に削除したプロジェクトファイルが再追加されると同時に、プロジェクトファイルのアイコンに「!」マークが消え、ビルド作業ができるようになります。

追加の対処法

プロジェクトファイルの再設定

ビルドエラーが発生した場合、プロジェクトファイル内の設定を見直すことも重要です。特に、ターゲットフレームワークの設定や依存関係のバージョンが正しいかを確認してください。以下は、.csprojファイルの例です:

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">xmlコードをコピーする<code><Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Autodesk.AutoCAD.Interop" Version="24.0.0" />
    <PackageReference Include="Autodesk.AutoCAD.Interop.Common" Version="24.0.0" />
  </ItemGroup>

</Project>
</code></pre>
<!-- /wp:preformatted -->

このように、ターゲットフレームワークを「net8.0」に設定し、必要な依存関係を正しく参照するようにしてください。

NuGetパッケージの更新

プロジェクトの移行後、使用しているNuGetパッケージのバージョンが古い場合もビルドエラーが発生することがあります。Visual Studioの「ソリューションエクスプローラー」から「NuGet パッケージの管理」を選択し、すべてのパッケージを最新バージョンに更新してください。

ビルド設定の見直し

Visual Studioのプロジェクトプロパティで、ビルド設定を確認し、正しい設定がされているかを確認します。特に、以下の設定を見直してください:

  • ビルド構成(Debug/Release)
  • プラットフォームターゲット(Any CPU/x86/x64)

開発者ドキュメントの参照

.NET 8.0への移行に関する公式ドキュメントや、AutoCADの開発者向けリソースも参考にすることが重要です。これらのドキュメントには、移行時に発生する可能性のある問題とその解決策が詳しく記載されています。

まとめ

AutoCADのカスタム開発において、.NET Frameworkから.NET 8.0への移行は多くのメリットをもたらしますが、移行プロセスには慎重な対応が必要です。本記事で紹介した手順を参考に、プロジェクトのビルドエラーを解消し、スムーズな開発環境を構築してください。また、常に最新のドキュメントやフォーラムを活用し、新しい情報をキャッチアップすることが、成功への鍵となります。