2017-05-25 1 views
0

私は、新しい.NET Framework WebアプリケーションAPIプロジェクトを持っています。ビジネス上の理由から、古い.net 3.5ライブラリにアクセスする必要があります。私はNuSpecを介してASP.NETコアプロジェクトにパックされたカスタムdllを追加する際にネームスペースが見つかりません

nuget pack old-library.dll. 

その後、

nuget spec old-library.dll 

を実行し、パッケージをインストールしました。しかし、私はライブラリにアクセスできないようです。

using old-library-namespace; 

ただ解決しません。私は既存の.netライブラリを使うことができるはずです。他の人がこれを試してみたようですが、私はここで次のステップを犠牲にしています。 DLLのためのあなたの.nuspecファイルで

+0

は 'DOTNET restore'は、すべてのエラーを表示していますか?ライブラリはどこにあるのですか?(名前をzip> extractに変更) 'lib/net35'でなければなりません(新しいnet *は大丈夫ですが) –

+0

私のプロジェクトのルートにold-library.dll.1.0.0という名前のフォルダを作成していますが、リストアにエラーはありません。パッケージ内(NuGet Package Explorerで表示)にはすべてがベースにあり、フォルダはまったくありません。 – Feasoron

+0

同じケースかどうかわかりませんが、同様の問題があり、クロスフレームワークのバージョンを追加できないことがわかりました。私の解決策は、(ildasm)を分解し、署名し、再コンパイルすることでした。ちょっとしたハンマーですが、私のケースではうまくいきます... –

答えて

1

<files>セクションが正しくdllファイルのターゲットパスを設定していることを確認してください:

<?xml version="1.0"?> 
<package > 
    <metadata> 
    <!-- your metadata --> 
    <frameworkAssemblies> 
     <!-- and framework assemblies you reference --> 
     <frameworkAssembly assemblyName="System.Xml" targetFramework="net35" /> 
    </frameworkAssemblies> 
    </metadata> 
    <files> 
    <file src="old-library.dll" target="lib\net35" /> 
    </files> 
</package> 
関連する問題