NDoc 1.3.1 - .NET 2.0 対応

失敗

バージョン 2.0 は互換性のあるバージョンではありません。
図1 NDoc 1.3.1 は .NET 2.0 に未対応

図1 NDoc 1.3.1 は .NET 2.0 に未対応

「Exception: NDoc.Core.DocumenterException バージョン 2.0 は互換性のあるバージョンではありません。」 (左図 のエラー)

上記エラーは、NDoc を使用して DLL から API リファレンスを作成しようとした際に発生しました。 対象の DLL が .NET Framework 2.0 環境でビルドされたことが問題のようです。

環境

このレポートは、以下の環境について記述したものです。

OS Windows XP SP 2
.NET .NET Framework 2.0
Visual Studio Visual Studio 2005
NDoc NDoc 1.3.1 日本語版

原因

NDoc 1.3.1 が対応している .NET Framework のバージョンは、1.0 および 1.1 です。2.0 には対応していません。 また、.NET Framework 2.0 に対応する予定だった NDoc 2.0 は開発中止になっています。

では、.NET Framework 2.0 環境でビルドされた DLL から API リファレンスを作成するのは無理なのでしょうか? いいえ、解決策はあります。…ちょっと強引な方法ですけどね。

解決策

NDoc のアプリケーション構成ファイル (詳しくは補足を参照) を作成し、CRL (Common Language Runtime : 共通言語ランタイム) のバージョンに .NET Framework 2.0 を追加します。

(1) NDocGui.exe.config の作成

NDocGui.exe 用のアプリケーション構成ファイルを作成し、.NET Framework 2.0 をサポートするように設定します。 CLR (共通言語ランタイム) をサポートさせるには、<supportedRuntime> 要素を使用します。

[NDocGui.exe.config - 新規作成]
<?xml version="1.0" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v1.1.4322" />
    <requiredRuntime version="v1.1.4322" />
  </startup>
</configuration>

(2) NDocGui.exe.config を NDocGui.exe と同じディレクトリに配置

作成した NDocGui.exe.config を /bin ディレクトリに配置します。

NDocGui.exe.config の配置
図2 NDocGui.exe.config の配置

以上の設定で、NDoc 1.3.1 を .NET Framework 2.0 に対応させることができます。
ただし、この方法は強制的に .NET Framework 2.0 に対応させただけです。当然のことながら、NDoc の『SdkDocVersion』プルダウンには反映されません(下図参照)。 『SdkDocVersion』の値は、デフォルト値の『.NET Version 1.1』ままで実行してください。

SdkDocVersion は .NET Version 1.1 のまま実行
図3 SdkDocVersion は .NET Version 1.1 のまま実行

図3 SdkDocVersion は .NET Version 1.1 のまま実行

補足

■ アプリケーション構成ファイルとは?

アプリケーション固有の設定を XML 形式で記述したファイルです。

ファイル名 <EXE ファイル名>.config
配置場所 EXE ファイルと同じディレクトリ
内容 以下の設定を記述することができます。
  • CLR (共通言語ランタイム) が読み取る構成設定
  • アプリケーションが読み取ることのできる設定

参考サイト

コメント

コメント投稿
(非公開)
     « アイコン一覧 »
(必須)

作成日:2007/02/17
更新日:2007/02/17