如何在ASP.NET核心项目中添加对外部DLL文件的引用



每次我尝试将来自我的非ASP.NET核心项目的任何DLL文件的引用添加到我的新ASP.NET核心项目中,我都会收到此错误消息:

.NET Core Projects仅支持此版本中的引用.NET框架组件。参考 其他组件,它们需要包含在Nuget包中,并且 参考该软件包。

这里应该发生什么?有什么特殊的方法吗?接缝我在这里缺少的东西与所有以前的ASP.NET版本

不同

到目前为止,您无法将完整的.NET Framework DLL直接添加到ASP.NET Core Project( NetCoreApp1.0 )中。您将必须创建Nuget软件包。

如果是项目特定的DLL,则创建本地Nuget软件包。这些是我们在项目中遵循的步骤来生成Nuget软件包 -

1.下载 Nuget.exe并将其放在.csproj文件中的文件夹中。

2.打开CMD并键入Nuget规格。将创建带有.nuspec扩展名的文件。

3.打开创建的文件并添加标签:

<files> <file src="....SomeRoot***.*" target="libsnet461" /> </files>

4.执行Nuget Pack A.Csproj –cmd中的IncludereferedProjects。使用.nupkg扩展的文件创建。

5.到达视觉工作室。在Nuget软件包管理器设置中,添加"包源",并提供.nupkg.nuspec文件的路径。

6.Close Nuget软件包管理器,然后再次打开它。现在,您可以在浏览选项卡下的创建软件包中找到它。

注意:您的.nuspec文件应像:

<?xml version="1.0"?>
<package  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <metadata  xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <id>ABC.XYZ.FL</id>
    <version>1.0.0.0</version>
    <title>ABC.XYZ.FL</title>
    <authors>ABC</authors>
    <owners>ABC</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Framework that will be used to create objects in XYZ world</description>
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
    <copyright>2016</copyright>
    <tags>ABC.XYZ.FL</tags>
  </metadata>
  <files>
    <file src="binDebug*.dll" target="libnet461" />
  </files>
</package>

以下链接包含有关创建Nuget软件包和本地托管的更多详细信息:

https://docs.nuget.org/create/creating-and-publishing-a-package

https://docs.nuget.org/create/hosting-your-own-nuget-feeds

https://docs.nuget.org/consume/nuget-config-file

看看是否有帮助。

最新更新