我正在构建一个可移植的库,但是,我收到了这个错误:
/Users/samir/Documents/projects/xamarin/Phoenix.Client.Portable/Socket.cs(15,15): 错误CS7069:引用类型
System.IO.FileInfo' claims it is defined assembly
mscorlib,版本= 4.0.0.0,文化=中性, PublicKeyToken = b77a5c561934e089',但无法找到(CS7069) (Phoenix.Client.Portable)
目前:
var dataString = data.ToString(Formatting.None);
Action callback = () =>
{
//THIS WILL CAUSE THE ERROR ABOVE
_conn.Send(dataString);
};
有什么想法吗?
答案 0 :(得分:0)
您是否引用了PCL中的任何其他库?如果是这样,如果它们是使用不同版本的.NET框架构建的,则会导致此错误。
当有人试图在他们的PCL项目中使用websocket-sharp库时,请查看类似的问题: https://github.com/sta/websocket-sharp/issues/100
从上面: “那个websocket-sharp库是使用.NET Framework 3.5作为目标框架构建的。如果可移植类库仅支持.NET Framework 4.0或更高版本,我想你不能在你的可移植类库项目中使用它。”
答案 1 :(得分:0)
还有另一个monodevelop错误会导致.csproj
文件在没有<TargetFrameworkVersion>
的情况下生成或以某种方式丢失。
如果从项目属性窗口更改框架版本,则将不会添加回来。您必须手动添加一个
样品:
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>