将通过NuSpec打包的自定义dll添加到ASP.NET核心项目时未找到命名空间

将通过NuSpec打包的自定义dll添加到ASP.NET核心项目时未找到命名空间,.net,.net-3.5,nuget,.net-core,.net,.net 3.5,Nuget,.net Core,我有一个全新的asp.net核心web api项目,目标是.net framework 4.6。出于业务原因,我们需要访问旧的.NET3.5库。我跑 nuget spec old-library.dll 然后 并安装了软件包。然而,我似乎无法进入图书馆 using old-library-namespace; 只是不能解决问题。我知道我们应该能够使用现有的.net库,似乎其他人也尝试过,但我不知道下一步该怎么做。在dll的.nuspec文件中,确保部分正确设置了dll文件的目标路径: <

我有一个全新的asp.net核心web api项目,目标是.net framework 4.6。出于业务原因,我们需要访问旧的.NET3.5库。我跑

nuget spec old-library.dll
然后

并安装了软件包。然而,我似乎无法进入图书馆

using old-library-namespace;

只是不能解决问题。我知道我们应该能够使用现有的.net库,似乎其他人也尝试过,但我不知道下一步该怎么做。

在dll的
.nuspec
文件中,确保
部分正确设置了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>


dotnet restore
是否显示任何错误?库在nuget包中的位置(重命名为.zip>extract)?它应该是
lib/net35
(虽然更新的net*也可以)还原时没有错误,尽管它只是在我的项目根目录中创建了一个名为old library.dll.1.0.0的文件夹。在包中(在NuGet包资源管理器中查看),所有内容都在基础中-根本没有文件夹。不确定是否是相同的情况。。。但我也遇到了类似的问题,我发现我无法添加跨框架版本。我的解决方案是反汇编(ildasm)、签名和重新编译。这有点像锤子,但对我的案子来说…哦,顺便说一句。。。我的案例不是使用DotNetCore,而是不同的.NETFramework版本。从core中,我发现并非所有的.net库都可用于core,因为core只是主.net framework的一个子集。@Feasoron澄清一下:您是在.net framework上使用ASP.net core(不是.net core)?我就是这样解释你的“目标4.6”声明的。
<?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>