标签: compact-framework

在c#中创建时间戳的函数

我想知道,有没有办法在日期时间在c#中创建时间戳?我需要一个毫秒精度值,它也可以在Compact Framework中工作(说因为CF中不存在DateTime.ToBinary()).

我的问题是我想以数据库无关的方式存储这个值,所以我可以稍后对其进行排序,并找出哪个值来自另一个等等.

c# timestamp compact-framework time-precision database-agnostic

100
推荐指数
4
解决办法
26万
查看次数

什么是最有价值的.Net Compact Framework提示,技巧和想法 - 避免者?

我们在.Net Compact Framework和Windows Mobile中广泛开展工作.我已经看到很多关于ASP.Net应用程序或其他.Net桌面应用程序开发细节的问题,但没有特定的CF.

移动开发人员在那里可以分享一些事情来开始做,停止做,并避免在Compact Framework中进行开发吗?

.net compact-framework windows-mobile

65
推荐指数
6
解决办法
1万
查看次数

Graphics.DrawString()的中心文本输出

我正在使用.NETCF(Windows Mobile)Graphics类和DrawString()方法将单个字符渲染到屏幕上.

问题是我似乎无法使其正确居中.无论我为字符串渲染的位置的Y坐标设置什么,它总是低于该值,文本大小越大Y偏移越大.

例如,在文本大小12处,偏移量约为4,但在32处,偏移量约为10.

我希望角色垂直占据它所绘制的大部分矩形并水平居中.这是我的基本代码.this引用正在绘制的用户控件.

Graphics g = this.CreateGraphics();

float padx = ((float)this.Size.Width) * (0.05F);
float pady = ((float)this.Size.Height) * (0.05F);

float width = ((float)this.Size.Width) - 2 * padx;
float height = ((float)this.Size.Height) - 2 * pady;

float emSize = height;

g.DrawString(letter, new Font(FontFamily.GenericSansSerif, emSize, FontStyle.Regular),
            new SolidBrush(Color.Black), padx, pady);
Run Code Online (Sandbox Code Playgroud)

是的,我知道我可以使用标签控件来设置居中,但实际上我需要在Graphics课堂上手动完成.

c# graphics compact-framework

58
推荐指数
5
解决办法
11万
查看次数

在.Net Compact Framework中将文件内容读取为字符串

我正在使用.net compact framework 2.0为移动设备开发应用程序.我试图将文件的内容加载到字符串对象,但不知怎的,我无法完成它.班上没有ReadToEnd()方法System.IO.StreamReader.是否有另一个类提供此功能?

.net c# compact-framework

50
推荐指数
3
解决办法
9万
查看次数

如何最好地将文件读入List <string>

我使用列表来限制文件大小,因为目标在磁盘和RAM中是有限的.这就是我现在正在做的,但有更有效的方法吗?

readonly List<string> LogList = new List<string>();
...
var logFile = File.ReadAllLines(LOG_PATH);
foreach (var s in logFile) LogList.Add(s);
Run Code Online (Sandbox Code Playgroud)

c# compact-framework

49
推荐指数
6
解决办法
13万
查看次数

SQL Server Compact不支持服务器生成的密钥和服务器生成的值

我刚刚开始使用实体框架,所以我决定将它连接到我现有的SQL Server CE数据库.我有一个IDENTITY(1,1)主键的表,但当我尝试添加实体时,我遇到了上述错误.

MS Technet artice 我学到了

与实体框架一起使用时,SQL Server Compact不支持具有服务器生成的密钥或值的实体.使用实体框架时,实体的密钥可能会标记为服务器生成.这使数据库能够在插入或实体创建时为密钥生成值.另外,实体的零个或多个属性可以标记为服务器生成的值.有关更多信息,请参阅Entity Framework文档中的Store Generated Pattern主题.虽然实体框架允许您使用服务器生成的键或值定义实体类型,但SQL Server Compact在与实体框架一起使用时不支持具有服务器生成的密钥或值的实体.对具有服务器生成的值的实体的数据操作操作会引发"不支持"异常.

所以现在我有几个问题:

  • 如果不支持将密钥标记为服务器生成,为什么会抛出异常?从引用的段落中很难看出来.
  • 当我试图将StoreGeneratedPattern ="Identity"添加到我的实体的属性时,Studio抱怨它是不允许的.我做错了什么?
  • 此限制的最佳解决方法是什么(包括切换到另一个数据库)?我的限制是零安装和使用实体框架.

entity-framework compact-framework

35
推荐指数
3
解决办法
2万
查看次数

如何在C#Compact Framework中获取exe应用程序名称和版本

我的应用程序有一个exe并使用一些DLL.我用C#写所有内容.

在一个DLL中,我想编写一个方法来从exe中的版本信息中获取应用程序名称和版本.

据我所知,在完整的.NET中,我可以使用GetEntryAssembly,但这在CF中是不可用的.

c# versioning compact-framework

33
推荐指数
3
解决办法
8万
查看次数

NLog不会创建日志文件

我正在尝试将日志记录添加到使用Windows Mobile 6.1在移动设备上运行的应用程序. .NETCompact框架3.5.使用NLog.

我安装了适当版本的NLog发行版​​.

但是,没有创建日志文件.

这是我的NLog.config档案:

<?xml version="1.0" encoding="utf-8"?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <targets>
    <target name="logfile" xsi:type="File" fileName=".\Neolant.ASRM.Terminal.log" layout="${longdate}|${level}|${message}|${exception}" autoFlush="true"/>
  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="logfile" />
  </rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)

这是我使用的测试代码:

public static void Main()
{
    try
    {
        AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
        var logger = NLog.LogManager.GetLogger("UpperLevel");
        logger.Info("test test test.");
        try
        {
            throw new Exception("Unexpected!");
        }
        catch (Exception e)
        {
            var logger = NLog.LogManager.GetLogger("UpperLevel");
            logger.WarnException("An exception occured.", e);
        }
        throw new Exception("Suddenly!");           
    }
    finally
    {
        NLog.LogManager.Flush();
    }
}

private static void …
Run Code Online (Sandbox Code Playgroud)

c# compact-framework nlog

31
推荐指数
6
解决办法
5万
查看次数

如何在运行时创建任意Array类型的实例?

我正在尝试在编译时反序列化一个未知类型的数组.在运行时我发现了类型,但我不知道如何创建实例.

就像是:

Object o = Activator.CreateInstance(type);
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为没有无参数构造函数,Array似乎没有任何构造函数.

c# reflection compact-framework .net-2.0

30
推荐指数
3
解决办法
2万
查看次数

使用已知的XSD从XML读取类型化对象

我有以下(作为示例)XML文件和XSD.

<?xml version="1.0" encoding="utf-8" ?>
<foo>
  <DateVal>2010-02-18T01:02:03</DateVal>
  <TimeVal>PT10H5M3S</TimeVal>
</foo>
Run Code Online (Sandbox Code Playgroud)

version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="foo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="DateVal" type="xs:dateTime" />
        <xs:element name="TimeVal" type="xs:duration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

然后是以下C#代码:

  static void Main(string[] args)
  {
     XmlDocument xd = new XmlDocument();
     XmlSchema xs;
     using (var fs = File.OpenRead(FilePath + "SimpleFields.xsd"))
     {
        xs = XmlSchema.Read(fs, null);
     }

     xd.Schemas.Add(xs);
     xd.Load((FilePath + "SimpleFields.xml"));
     xd.Validate(null);

     var el_root = xd.DocumentElement;

     var el_date = (XmlElement)el_root.SelectSingleNode("./DateVal");
     //WANTED: el_date.Value = 2010-02-18 01:02:03 (as a DateTime Object) …
Run Code Online (Sandbox Code Playgroud)

c# xml xsd xmldocument compact-framework

29
推荐指数
2
解决办法
4万
查看次数