我正在尝试使用REST API发布数据。该应用程序过去运行完美,但现在我已添加代码来执行POST,我收到一个新错误。是否有人能够帮助解释出现了什么问题,并提出一个可以让我成功完成POST请求的替代方案?
以下是我尝试使用Release配置中启用的链接器构建应用程序时出现的错误:
.hover-to-show span {
opacity: 0;
position: absolute;
line-height: 20px;
transition: all .2s ease-in-out;
}
.hover-to-show {
position: relative;
display: block;
height: 0;
}
.hover-to-show-link:hover .hover-to-show span{
-webkit-animation: show 2s forwards; /* Safari 4+ */
-moz-animation: show 2s forwards; /* Fx 5+ */
-o-animation: show 2s forwards; /* Opera 12+ */
animation: show 2s forwards; /* IE 10+, Fx 29+ */
}
.hover-to-show-link:hover .hover-to-show {
-webkit-animation: grow 2s forwards; /* Safari 4+ */
-moz-animation: grow 2s forwards; /* Fx 5+ */
-o-animation: grow 2s forwards; /* Opera 12+ */
animation: grow 2s forwards; /* IE 10+, Fx 29+ */
}
@-webkit-keyframes show {
0% { opacity: 0; }
100% { opacity: 1; }
}
@-moz-keyframes show {
0% { opacity: 0; }
100% { opacity: 1; }
}
@-o-keyframes show {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes show {
0% { opacity: 0; }
100% { opacity: 1; }
}
@-webkit-keyframes grow {
0% { height: 0; }
100% { height: 20px; }
}
@-moz-keyframes grow {
0% { height: 0; }
100% { height: 20px; }
}
@-o-keyframes grow {
0% { height: 0; }
100% { height: 20px; }
}
@keyframes grow {
0% { height: 0; }
100% { height: 20px; }
}
答案 0 :(得分:2)
您可能在Xamarin.Android应用中添加了对桌面.NET程序集的引用。 Xamarin.Android配置文件中不提供System.Windows.Forms
命名空间。 (即使在禁用链接时应用程序构建成功,理论上它仍会在运行时失败,只要它尝试运行引用System.Windows.Forms
的代码命名空间。)
要解决此问题,您需要从Xamarin.Android项目中删除对桌面.NET程序集的引用,并确保针对Xamarin.Android配置文件或支持的PCL配置文件编译所有其他引用的程序集
如documentation中所述:
Xamarin.Android 不 ABI与为不同配置文件编译的现有程序集兼容。您必须重新编译源代码以生成针对Xamarin.Android配置文件的程序集(就像您需要重新编译源代码以单独定位Silverlight和.NET 3.5一样)。
(可移植类库是此规则的特殊例外。)
如果您当前正在使用System.Windows.Forms
命名空间中的类型来执行POST请求,那么您将需要切换到其他类型。例如,System.Net.Http.HttpClient
中的PostAsync()
方法之一可能效果很好。