ご承知のように、APS (=Autodesk Platform Service 旧Forge)のAPIはWebサービスという形でAPIを公開しており、HTTP/HTTPSのリクエストを送信しレスポンスを受け取るという形式でAPIを利用することが出来ます。
これは、インターネット越しにAPIを公開するという点においては、既存のWebの仕組みを利用することが出来るため非常に便利である反面、プログラムからWebサービスAPIを実行するにあたっては、HTTPの書式に合わせてリクエストを構築、レスポンスを受信して結果を処理する必要があるため、プログラムの記述が複雑でわかりにくくなる傾向があります。
APSのWebサービスAPIでは、このWebサービスAPIをプログラムから実行する際のわずらわしさを軽減し、親和性高く記述することを可能とするSDKが、各言語向けに提供されております。
そのようなSDKの一つとして、APSのDesign Automation APIを.net プログラムから使用する際に利用可能なAutodesk.Forge.DesignAutomation .net SDK が公開されております。
このAutodesk.Forge.DesignAutomation .net SDKのGitHubページでは、Autodesk.Forge.DesignAutomation .net SDKの環境はnet 6.0以降となっております。
ところで、AutoCAD やRevit、Inventor等のエディタにロードして利用するカスタムプラグインや、Design Automationでコアエンジンにロードしてカスタムプログラムを実行するためのカスタムプラグインの開発には、Visul Studio 2019を利用しているかと思います。
ところが、このVisual Studio 2019は.net 5.0までがサポート対象となっているため、.net 6.0 以降を対象としてるAutodesk.Forge.DesignAutomation .net SDKを、インストールすることが出来ません。
正しくはVisual Studio2022を利用する必要があるのです、開発環境などでカスタムプラグイン開発のソリューションと一緒にAutodesk.Forge.DesignAutomation .net SDK (.NET 6 ) を利用したい場合等があるかと思います。
そこで、今回の記事では、Visual Studio 2019でAutodesk.Forge.DesignAutomation .net SDK (.NET 6 ) を利用する方法について解説をしたいと思います。
なお、留意点ですがこの記事でご紹介する方法は、あくまでも経験的にVisual Studio 2019で.NET 6を動かすことが出来た方法となります。ありていに申しますと”やってみたら動いた”というTipsをご紹介するものです。
Microsoft社が公式にサポートしている方法ではなく、またすべての環境で同じ方法が適用可能であることを保証するものではありませんので、ご利用については、自己責任でお願いをいたします。
それでは、設定の手順についてご紹介いたします。
1.https://dotnet.microsoft.com/ja-jp/download/dotnet/6.0 より、.net 6.0 SDKをダウンロードしてインストール。(本記事での方法の適用には、6.0.2以前の.net 6.0が必要となります)
2.Visual Studio2019で.net Core Webアプリケーションを作成。
作成したアプリケーションのプロジェクトのプロパティを確認すると、以下の様に.net Core 5.0までしか選択できないことが分かります。
また、この状態でNuGetパッケージマネージャからAutodesk.Forge.DesignAutomationをプロジェクトの参照に追加しようとすると以下の様に互換性がないというエラーが出てしまうと思います。これはプロジェクトのターゲットとするフレームワークが.net 6.0以前であるためとなります。
3.Visual Studio 2019のGUIから.net 6.0を選択できない状態のため、一旦作成したプロジェクトを閉じてプロジェクトファイルをテキストエディタで開きます。
テキストエディタで開くと以下のようなXMLが記述されているかと思いいます。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>netcoreapp3.1
</PropertyGroup>
</Project>
ここで、TargetFramework タグ内に書かれているnetcoreapp3.1をnet6.0-windowsに書き換えて保存します。
4.Visual Studioでプロジェクトを再度開き、プロジェクトのプロパティを確認すると、以下の画像のように対象のフレームワークが空欄になっているかと思います。
5.この状態でNuGetパッケージマネージャからAutodesk.Forge.DesignAutomationをプロジェクトの参照に追加すると、正常にパッケージをインストールできます。
既存のアプリケーションで、古いバージョンのAutodesk.Forge.DesignAutomation SDKをご利用の場合にも、プロジェクトファイルのTargetFrameworkの内容を編集することで、Autodesk.Forge.DesignAutomation SDKの最新版を利用することが可能となります。
本記事の冒頭でも述べましたが、ここで紹介した手法はMicrosoft社が公式にサポートしている方法ではなく、経験的にVisual Studio 2019で.NET 6を動かすことが出来た方法のご紹介となります点にご留意ください。
By Takehiro Kato
コメント