无法安装包' - '.您正在尝试将此软件包安装到以".NETFramework,Version = v4.5"为目标的项目中

msh*_*hwf 15 nuget nuget-package nuget-spec

我创建了这个包,我在项目中需要它但无法安装它,出现此错误:

无法安装包'Mshwf.NiceLinq 1.0.9'.您正在尝试将此软件包安装到以".NETFramework,Version = v4.5"为目标的项目中,但该软件包不包含与该框架兼容的任何程序集引用或内容文件.有关更多信息,请与软件包作者联系

我不知道为什么会发生这种情况,在另一个项目(Console)中我将框架更改为4.6和其他版本并且它不是问题,但这只发生在这个项目(MVC和Web API)中:

这是nuspec文件:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Mshwf.NiceLinq</id>
    <version>1.0.9</version>
    <title>Nice LINQ</title>
    <authors>MShawaf</authors>
    <owners>Mshawaf</owners>
    <projectUrl>https://github.com/mshwf/NiceLinq</projectUrl>
    <iconUrl>https://raw.githubusercontent.com/mshwf/NiceLinq/master/logo.png</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>See it as: WHERE ID IN (1, 2, 3, 7, 9, 22, 30, 101)</description>
    <releaseNotes>Minor changes.</releaseNotes>
    <copyright>Copyright 2016</copyright>
    <tags>LINQ IEnumerable Where Contains Search Filter</tags>
  </metadata>
</package>
Run Code Online (Sandbox Code Playgroud)

Mat*_* KP 9

您的软件包的目标是NETFramework,Version = v4.5.2.这意味着程序集文件夹是lib \net452.您正在尝试将程序包安装到更高的框架(大于4.5)项目.使用框架4.5.2创建项目,或者将软件包的lib文件夹从net452重命名为您要定位的版本,如net45或net46.

您也可以从单个包中定位多个框架.

请参阅此处:https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks


小智 7

转到文件夹:

C:\Users\[username]\.nuget\packages\[package name]\1.0.0.4\lib
Run Code Online (Sandbox Code Playgroud)

使用项目的.net版本重命名该文件夹。

假设我正在使用.net framework 4.6.1,我的文件夹名称应为 net461


小智 6

您可以安装早期版本,例如:Install-Package AutoMapper -Version 7.0.1