从NuGet安装Sensenet 7.2时出错

从NuGet安装Sensenet 7.2时出错,nuget,sensenet,Nuget,Sensenet,我正试图从NuGet安装Sensenet 7.2,但是在安装Sensenet.Services.install软件包时出现以下错误 错误: 无法安装程序包“SenseNet.Common 7.2.0”。你是想 将此包安装到目标为的项目中 “.NETFramework,Version=v4.5.1”,但该包不包含任何 与之兼容的程序集引用或内容文件 框架有关更多信息,请联系软件包作者 我使用的是VS2017,项目模板是“ASP.NET Web应用程序” 如何处理这个问题?事实证明,使用最新版本的V

我正试图从
NuGet
安装
Sensenet 7.2
,但是在安装
Sensenet.Services.install
软件包时出现以下错误

错误:

无法安装程序包“SenseNet.Common 7.2.0”。你是想 将此包安装到目标为的项目中 “.NETFramework,Version=v4.5.1”,但该包不包含任何 与之兼容的程序集引用或内容文件 框架有关更多信息,请联系软件包作者

我使用的是VS2017,项目模板是“ASP.NET Web应用程序”


如何处理这个问题?

事实证明,使用最新版本的VS 2017并没有这个问题。我在我的SharePoint开发计算机(Windows Server 2012)上使用的是旧版本的VS 2017,由于VS安装程序的要求,VS无法升级。

事实证明,使用最新版本的VS 2017没有这个问题。我正在SharePoint开发计算机(Windows Server 2012)上使用旧版本的VS 2017,由于VS安装程序的要求,VS无法升级。

此处存在多个问题

VisualStudio和NuGet版本 更新到最新版本(当前为VS2017)应能解决软件包安装问题。我想以前的VS和NuGet版本无法处理netstandard软件包

.Net运行时版本 在.Net Framework 4.6.1中,如果netstandard程序集在标记为序列化的类中包含某些方法,则会中断与netstandard程序集的互操作。这意味着,尽管您的项目可能在4.6.1上,但至少必须在目标(执行)计算机上安装.Net Framework 4.7.2


有关将sensenet迁移到netstandard的详细信息,请访问此网站。

这里有多个问题

VisualStudio和NuGet版本 更新到最新版本(当前为VS2017)应能解决软件包安装问题。我想以前的VS和NuGet版本无法处理netstandard软件包

.Net运行时版本 在.Net Framework 4.6.1中,如果netstandard程序集在标记为序列化的类中包含某些方法,则会中断与netstandard程序集的互操作。这意味着,尽管您的项目可能在4.6.1上,但至少必须在目标(执行)计算机上安装.Net Framework 4.7.2


有关将sensenet移动到netstandard的详细信息,请访问此网站。

请检查web项目的.Net版本,该版本至少应为4.6.1(错误消息显示您的环境中有一个4.5.1项目)。这个要求在这个版本中是新的,以前的版本在.Net 4.5.1项目中工作。原因是我们开始将我们的项目转换为.Net标准,该标准由.Net framework 4.6.1支持,因此所有项目必须至少在4.6.1上才能从现在起使用sensenet包。谢谢,@MiklósTóth。将目标更改为4.6.1会产生相同的错误,只是文本稍微更改以反映更改后的.Net版本。请检查web项目的.Net版本,它至少应为4.6.1(错误消息表示您的环境中有一个4.5.1项目)。这个要求在这个版本中是新的,以前的版本在.Net 4.5.1项目中工作。原因是我们开始将我们的项目转换为.Net标准,该标准由.Net framework 4.6.1支持,因此所有项目必须至少在4.6.1上才能从现在起使用sensenet包。谢谢,@MiklósTóth。将目标更改为4.6.1会产生相同的错误,只是文本稍有更改以反映更改后的.Net版本。可能是旧的nuget.exe版本(与旧版本的VS一起安装),无法识别程序包的netstandard内容。但是出现了新问题。运行“\SnAdmin install services”命令会出现以下错误:System.Exception:ReflectionTypeLoadException:无法加载类型。受影响的类型:Lucene.Net.Store.RAMDirectory、Lucene.Net.Search.FieldDoc、Lucene.Net.Search.numeriRangeQuery、Lucene.Net.Search.SortField、Lucene.Net.Index.Term,第一条消息:在程序集“Lucene.Net”中键入“Lucene.Net.Store.RAMDirectory”,版本=2.9.4.301,区域性=中性,PublicKeyToken=null'具有方法“OnDeserialized”,该方法所修饰的序列化属性的签名不正确。安装.Net 4.7.2应该可以解决类型加载异常,他们在该版本的框架中修复了该异常,请参阅下面的另一个答案。可能是旧的nuget.exe版本(与旧版本的VS一起安装)无法识别包的netstandard内容。但是出现了新问题。运行“\SnAdmin install services”命令会出现以下错误:System.Exception:ReflectionTypeLoadException:无法加载类型。受影响的类型:Lucene.Net.Store.RAMDirectory、Lucene.Net.Search.FieldDoc、Lucene.Net.Search.numeriRangeQuery、Lucene.Net.Search.SortField、Lucene.Net.Index.Term,第一条消息:在程序集“Lucene.Net”中键入“Lucene.Net.Store.RAMDirectory”,版本=2.9.4.301,区域性=中性,PublicKeyToken=null'具有方法“OnDeserialized”,该方法所修饰的序列化属性的签名不正确。安装.Net 4.7.2应该可以解决类型加载异常,他们在该版本的框架中修复了该异常,请参见下面的另一个答案。