Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在Xamarin.Forms(PCL)应用程序中安装Autofac 4.6.2?_C#_Xamarin_Visual Studio 2017_Autofac - Fatal编程技术网

C# 是否可以在Xamarin.Forms(PCL)应用程序中安装Autofac 4.6.2?

C# 是否可以在Xamarin.Forms(PCL)应用程序中安装Autofac 4.6.2?,c#,xamarin,visual-studio-2017,autofac,C#,Xamarin,Visual Studio 2017,Autofac,当我在Visual Studio 2017中安装最新的Autofac(4.6.2)nuget时,出现以下异常: 无法安装程序包 “System.Runtime.InteropServices.RuntimeInformation 4.0.0”。你是 正在尝试将此包安装到目标为的项目中 “.NETPortable,Version=v4.5,Profile=Profile111”,但该包没有 不包含任何不可用的程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包作者 我翻遍了Xamarin表

当我在Visual Studio 2017中安装最新的Autofac(4.6.2)nuget时,出现以下异常:

无法安装程序包 “System.Runtime.InteropServices.RuntimeInformation 4.0.0”。你是 正在尝试将此包安装到目标为的项目中 “.NETPortable,Version=v4.5,Profile=Profile111”,但该包没有 不包含任何不可用的程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包作者

我翻遍了Xamarin表单,发现:我找到的答案是针对.NET标准的。但是,我的目标是.NET4.5


帮助?

这似乎是nuget中的一些bug,您可以找到关于它的讨论。您使用的配置文件(111)与
Autofac 4.6.2
兼容,因为此版本的Autofac具有
net标准1.1
版本,并且给定的配置文件不支持.net标准1.1。若要解决该问题,请将包含以下内容的
project.json
文件添加到项目中(生成操作可以是无,复制到输出不复制):


然后关闭并重新打开解决方案。在那之后,安装Autofac应该是成功的。

这似乎是nuget中的一些bug,您可以找到关于它的讨论。您使用的配置文件(111)与
Autofac 4.6.2
兼容,因为此版本的Autofac具有
net标准1.1
版本,并且给定的配置文件不支持.net标准1.1。若要解决该问题,请将包含以下内容的
project.json
文件添加到项目中(生成操作可以是无,复制到输出不复制):


然后关闭并重新打开解决方案。之后,安装Autofac应该会成功。

尝试得不错,但没有雪茄烟。。。它不起作用。因此,我尝试添加:并在Package Manager控制台中重新安装更新包,但出现错误:更新包:无法安装包“Autofac 4.6.2”。您正试图将此程序包安装到以“.NETPortable,Version=v4.5,Profile=Profile49”为目标的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请与软件包作者联系。@DiranOgunlana没有忘记按说明关闭并重新打开解决方案?我在发布之前进行了测试,这对我来说很有效。@Evk可以确认这对v4.5不起作用。所需的依赖项System.Runtime.InteropServices.RuntimeInformation 4.0.0与v4.5不兼容。也许问题在于VS2015可移植库。忽略^^。这是由project.json的位置引起的。此文件必须与项目文件.csproj一起位于项目根目录中。您可以通过更改json中的目标.NET版本来测试这一点。它应该报告一个错误,目标是json文件中指定的.NETStandard版本。请尝试一下,但是没有雪茄。。。它不起作用。因此,我尝试添加:并在Package Manager控制台中重新安装更新包,但出现错误:更新包:无法安装包“Autofac 4.6.2”。您正试图将此程序包安装到以“.NETPortable,Version=v4.5,Profile=Profile49”为目标的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请与软件包作者联系。@DiranOgunlana没有忘记按说明关闭并重新打开解决方案?我在发布之前进行了测试,这对我来说很有效。@Evk可以确认这对v4.5不起作用。所需的依赖项System.Runtime.InteropServices.RuntimeInformation 4.0.0与v4.5不兼容。也许问题在于VS2015可移植库。忽略^^。这是由project.json的位置引起的。此文件必须与项目文件.csproj一起位于项目根目录中。您可以通过更改json中的目标.NET版本来测试这一点。它应该报告一个针对json文件中指定的.NETStandard版本的错误。
{
  "dependencies": {
    "Autofac": "4.6.2"
  },
  "frameworks": {
    ".NETPortable,Version=v4.5,Profile=Profile111": {}
  },
  "supports": {}
}