我想使用Mvvmcross为多个平台开发应用程序.
我将Profile 104用于PCL库,如Mvvmcross,但此配置文件的目标是.NET 4.5.我想以.NET 4.0为目标,在Windows XP上使用我的应用程序.
为此,我添加了xml文件
MonoAndroid,版本= v1.6 +.XML
和
VSMonoTouch,版本= v1.0 +.XML
在配置文件143中允许我定位.NET框架4.0.3.
但是,我有一个编译错误,因为它找不到ICommand接口.此接口不在版本4.0和4.5之间的同一个库中,它是不起作用的原因?或者我应该使用配置文件143重新编译所有Mvvmcross库?
谢谢,
在Xamarin跨平台应用程序开发中调整MVVMCross框架,我们有PCL(包含模型和视图模型)和View(对于每个平台),如此处所示.
a)Xamarin.mobile(用于获取单一API访问集)驻留在哪里?我想在PCL里面.但是,我看到Xamarin.mobile的不同二进制文件(例如:Android和IOS),我们是否将所有Xamarin.mobile库放在PCL中?它们都有相同的名字,不会有任何冲突吗?
b)我们在哪里保留访问蓝牙等代码(在Xamarin.mobile中不可用)?使用MVVMCross解耦视图和业务逻辑,所以在事件发生后(btn点击)创建视图项的所有代码都驻留在视图中?
c)我们在哪里可以使用适应MVVMCross的条件编译?我想在模型中,但它是否仅用于文件访问,还是可以用于根据目标平台显示查看项目(Android上的Toast消息),将其放在PCL上?
(如果不恰当的借口,只是收集了MVVMCross和Xamarin.mobile的一些信息,并考虑到了一些推理/困惑)
谢谢!
此致,Saurav
mvvm portable-class-library mvvmcross xamarin xamarin.mobile
我正试图在Xamarin Studio的Xamarin.iOS项目中拥抱新的PCL乐趣.我为我的项目创建了一个PCL"Core"库,并通过NuGet 添加了Splat(v0.3.4).然后,在一个消费的iOS项目中,我引用了我的核心库.一旦我这样做,就会出现一些编译错误.
其中之一:
Error CS0012: The type `System.Drawing.PointF' is defined in an assembly that is not referenced. Consider adding a reference to assembly `Splat.Portable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' (CS0012)
Run Code Online (Sandbox Code Playgroud)
多个这些:
Error CS0029: Cannot implicitly convert type `System.Drawing.PointF [monotouch, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065]' to `System.Drawing.PointF [Splat.Portable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]' (CS0029)
Run Code Online (Sandbox Code Playgroud)
看起来这是因为自从v0.3.4命中NuGet以来对Splat的拉动请求已经解决了这个问题.跟着那里的笔记,我添加了对Splat.Portable.dlliOS项目的引用.当我这样做时,编译错误会改变为抱怨太多的类型定义.
Error CS0433: The imported type `System.Drawing.RectangleF' is defined multiple times (CS0433)
Error CS0433: The imported type `System.Drawing.PointF' is defined multiple times …Run Code Online (Sandbox Code Playgroud) 我很难说服FxCop 10.0来分析引用AutoMapper的程序集.
我创建了一个简单的类库,通过NuGet引用了AutoMapper,并添加了以下代码:
using System;
namespace ClassLibrary4
{
public class Class1
{
public void Foo()
{
AutoMapper.Mapper.CreateMap<Obj1, Obj2>()
.ForMember(x => x.Name, opt => opt.Ignore());
}
}
public class Obj1
{
public string Name { get; set; }
}
public class Obj2
{
public string Name { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用FxCop 10.0通过命令行分析程序集,并收到消息:
无法加载C:\ Users\inelson\Documents\Visual Studio 2013\Projects\ClassLibrary4\ClassLibrary4\bin\Debug\ClassLibrary4.dll.
注意:找不到一个或多个引用的程序集.使用'/ directory'或'/ reference'开关指定其他程序集引用搜索路径.
未解决的参考是System.Core版本2.0.5.0.
为了隔离问题,我删除了.ForMember方法调用,将Foo()简单地删除:
public void Foo()
{
AutoMapper.Mapper.CreateMap<Obj1, Obj2>();
}
Run Code Online (Sandbox Code Playgroud)
和FxCop 10.0现在愉快地分析组装!
使用.ForMember方法导致FxCop分析失败的原因是什么?
请注意,我遇到与.NET Framework版本4.0,4.5或4.5.1以及AutoMapper 3.0.0和3.1.0相同的行为.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace NumberedMusicScores
{
public enum KeySignatures
{
C,
G,
D,
A,
E,
B,
FCress,
CCress,
F,
Bb,
Eb,
Ab,
Db,
Gb,
Cb
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用它,我希望FCress并CCress显示为F#和C#.怎么做到这一点?
我试过这个:怎么用?字符枚举,但Description在[Description("F#")]似乎不存在.(用红线加下划线,如果我右键单击它,它甚至不会显示任何"Resolve".
更新:澄清:
enum,而是一个配置为的类enum.我想要enum解决方案.谢谢.
我需要计算可移植库中字节数组的哈希值.
我正在尝试为我的针对.NET 4.5 + win 8 + WP 8.0的可移植库找到一个等效的System.Security.Cryptography.SHA256Managed.
我尝试了PclContrib,但似乎我无法为面向这些平台的库安装它.
是否有任何库提供哈希算法实现,可以在可移植库的上下文中引用?
谢谢
我需要System.Timers.Timer在F#PCL库中使用。
我目前的目标是框架4.5并使用Profile7(我使用VS模板),并且它不允许访问System.Timer。
根据此SO答案,这是一个已知问题,已在4.5.1中解决。
我创建了一个4.5.1 C#PCL,并检查了其.csproj。它针对框架4.6,并使用Profile32。
在F#项目中有没有针对相同目标的方法?我天真地尝试使用C#值更新.fsproj,但它破坏了一切。:)
非常感谢!
我正在开发带有可移植类库 (PCL) 的 Xamarin Forms 应用程序。
总是,我喜欢将资源尽可能排序到 XAML 文件中。我已经看到无法直接创建 XAML 资源文件。我的解决方案是删除 App.cs 文件(在 Portable 项目上)并创建一个 Forms Xaml 页面作为模板。我已将旧 App.cs 中的代码复制到 App.xaml.cs,然后我编辑了 xaml 文件。
在 App.xaml 文件中,我定义了标签的颜色和样式。当我将颜色绑定到样式声明时,它在运行时失败。
<Application xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
...>
<Application.Resources>
<ResourceDictionary>
<!-- LABELS -->
<Style x:Key="labelProductReference" TargetType="Label"
BasedOn="{StaticResource labelBase}" >
<Setter Property="FontSize" Value="22" />
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="HorizontalOptions" Value="StartAndExpand" />
<Setter Property="TextColor" Value="{StaticProperty textPrimaryColor}"
</Style>
...
<!-- COLORS -->
<Color x:Key="textPrimaryColor">#FFFFFF</Color>
...
</ResourceDictionary>
</Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)
错误说:
Xamarin.Forms.Xaml.XamlParseException:位置 45:38。找不到关键 textPrimaryColor 的静态资源
但是,如果我将有标签的颜色绑定到页面(MainPage.xaml)中,它会起作用:
<Label Text="{Binding Reference}" TextColor="{StaticResource textPrimaryColor}"
Style="{StaticResource …Run Code Online (Sandbox Code Playgroud) xaml portable-class-library xamarin xamarin.forms visual-studio-2015
我在读取 SQLite 数据库上的表时遇到问题。
我的 OBJ_User 类:
namespace Fimap.Models
{
public class OBJ_User
{
public int DLR_Id { get; set; }
public string DLR_Username { get; set; }
public string DLR_Password_Hash { get; set; }
public object DLR_Nome { get; set; }
public string DLR_Cognome { get; set; }
public int DLR_Tipo { get; set; }
public string DLR_Azienda { get; set; }
public object DLR_Telefono { get; set; }
public object DLR_Email { get; set; }
public int DLR_Abilitato { …Run Code Online (Sandbox Code Playgroud) 我的目标是使用HttpClient该类进行网络请求,以便我可以将响应写入文件(解析后)。因此我需要将结果作为Stream.
HttpClient.GetStreamAsync()仅将字符串requestUri作为参数。所以不可能用 custom HttpRequestHeader、 custom HttpMethod、 custom ContentType、 custom content 等来创建请求?
我看到HttpWebRequest有时会使用它,但在我的 PCL(Profile111)中没有Add用于Headers. 那么我可以使用HttpClient,我应该使用HttpWebRequest还是应该使用另一个类/库?
c# stream portable-class-library dotnet-httpclient xamarin.forms