NuGet パッケージ マネージャーに問題があります。ライブラリ (型プロバイダーですが、これは問題ではないと思います) を公開してテストしましたが、依存関係が見つかりません。完全なエラー メッセージは次のとおりです (簡潔にするために完全な名前空間/名前は省略されています)。
The type provider 'TypeProviderImplementation....' reported an error:
Could not load file or assembly 'dotNetRDF', Version=1.0.3.0, Culture=neutral, PublicKeyToken=...' or one of its dependencies.
問題は、ライブラリをインストールするときに、依存関係が正しくインストールされているように見えることです。正しいライブラリがダウンロードされ、エラーは表示されません。この問題を解決するために、.nuspec ファイルで正確なバージョンを指定しましたが、何も変わりませんでした。...
NuGet を介して dotNetRDF をインストールし、事前にコンパイルされた DLL を (NuGet を介さずに) 手動で参照すると、正常に動作するようです。
だから私は基本的に、問題を解決したりデバッグしたりする方法についてのアイデアがありません。あらゆる指針に感謝します。
以下の私のコメントは非常に読みにくいため、.NET バージョン番号に関する詳細情報を追加します。
提案どおりにフレームワークのバージョンを確認しました。これは、オブジェクト ブラウザーで FrameworkDisplayName を確認することで行いました。基本的に、私のライブラリは 4.5 を使用し、dotNetRDF は 4.0 を使用していました。
.NET 4.0 に切り替えましたが、何も変わりませんでした。
- 私のライブラリ = ".NET Framework 4"
- dotNetRDF = ".NET フレームワーク 4"
- HtmlAgilityPack = ".NET Framework 4.5"
- Newtonsoft.Json = ".NET Framework 4.5"
- VDS.Common = ".NET Framework 4 クライアント プロファイル"
私の依存関係は dotNetRDF で、残りは dotNetRDF の依存関係です。
最新の NuSpec ファイルは、ここにあります。コマンドnuget pack LITEQ.fsproj -Prop Configuration=Releaseを使用してパッケージを作成します。
パッケージ ID はLITEQ.RDFです。
追加情報: ライブラリは F# プロジェクトです。コンソール プロジェクトを作成し、NuGet 経由でライブラリをインストールしてから、参照を F# Interactive Console に送信するとどうなるかをテストしました。この場合、実際に機能します。
NuGet経由でライブラリをインストールした後のプロジェクト構成に問題があるように感じます。
エラーを再現するには、ライブラリをダウンロードし、UniKo.West.Liteq 名前空間を開き、たとえば NpqlTypeProvider を使用します。
open Uniko.West.Liteq
type A = NpqlRdfProvider< @"">