Articles of .net

如何用C#.NET编写程序,在Linux / Wine / Mono上运行它们?

在这种特殊情况下,我需要为Linux运行复杂的.NET应用程序。 复杂的我的意思是 – 这个项目开发了3年,我不想再写在Java或其他东西,开发和支持,以后的.NET和Java版本。 应用程序正在生成鼠标和键盘事件(通过winapi / dll导入)并使用串行端口。 我也有几个计时器延迟 – 串口通信(10-20ms,我不需要很大的精度)。 其余的只是很多简单的代码,没有什么特别的,没有奇怪的控制,没有directx等 我应该期待什么? 这会工作吗? 如果代码的某些部分会失败 – 我可以稍微改变一下,在.net应用程序和Linux上的迷你应用程序之间build立networking连接,我可以编写发送鼠标和键盘事件或RS232通信。 另外我想问一下Wine和.NET: 如何编写应该在Linux / Wine / Mono上运行的.NET应用程序? 哪个版本的框架? (1.x,2.0还是可以使用3.5?) 我应该避免(从Windows dll?定时器导入?) 编辑/从评论移动: 几年前我看到了单声道,但是很糟糕。 现在我看到它成长起来,支持LINQ,线程和其他复杂的function。 另外现在的帮助看起来非常严重。 我还没有接受答案,因为我看到人们仍然张贴非常有用的链接。 如果这个问题得到很多+1,我会重写它,也许这会帮助别人。 我希望这里的人有一些Linux上的.NET的实践经验…

如何使用mono将.NET Windows Service应用程序迁移到Linux?

使用mono将.NET Windows服务迁移到Linux最好的方法是什么? 我一直在试图避免执行该应用程序作为预定的命令。 是否有可能获得一个服务/系统守护进程(在Linux中)的行为?

通过networking共享locking行为是不同的

我一直在试图locking一个文件,以便其他克隆的服务不能访问该文件。 然后我读取文件,然后完成后移动文件。 移动是通过使用FileShare.Delete允许的。 但是在后来的testing中,我们发现如果我们正在查看networking共享,这种方法是行不通的。 我赞赏我的做法可能不是最好的,但我的具体问题是: 为什么下面的演示针对本地文件,而不是针对networking文件? 更具体的你可以是更好的,因为我发现我的search很less的信息,表明networking共享行为不同于本地磁盘。 string sourceFile = @"C:\TestFile.txt"; string localPath = @"C:\MyLocalFolder\TestFile.txt"; string networkPath = @"\\MyMachine\MyNetworkFolder\TestFile.txt"; File.WriteAllText(sourceFile, "Test data"); if (!File.Exists(localPath)) File.Copy(sourceFile, localPath); foreach (string path in new string[] { localPath, networkPath }) { using (FileStream fsLock = File.Open(path, FileMode.Open, FileAccess.ReadWrite, (FileShare.Read | FileShare.Delete))) { string target = path + ".out"; File.Move(path, […]

如何使用dotnet框架4.0提取zip文件,而无需使用第三方dll

我正在修复。 我需要从networking位置下载一个zip文件,然后在本地机器上解压缩并使用这些文件。 唯一的限制是我不能使用任何第三方的DLL。

如何获取login的本地Windows用户列表?

我正在尝试为Windows编写更快的用户切换应用程序。 Win + L和select用户是非常繁琐的。 如果我以pipe理员身份启动任务pipe理器,它会显示活动用户,我可以select一个和“连接”(如果我input密码)。 我如何获得所有用户(或所有活跃用户)的列表? 我正在使用C#(Visual Studio Express)。

如何连接到Windows上的ODBC数据库?

我想使用Java / .NET连接到ODBC数据库。 当我尝试连接到数据库时,出现如下错误: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 为什么是这样? 我能做些什么来使连接成功?

Tooltip附加到C#中的鼠标

如何获得使用C#连接到鼠标光标的工具提示? 我试图达到像下面的效果,一个小工具提示显示Ctrl / Shift / Alt键的状态。 我目前正在使用一个Tooltip但它拒绝显示,除非它有大约2行文字。 tt = new ToolTip(); tt.AutomaticDelay = 0; tt.ShowAlways = true; tt.SetToolTip(this, " "); 在鼠标移动中: tt.ToolTipTitle = "…..";

如何通过C#.NET代码创buildWindows文件和文件夹快捷方式?

我正在使用.NET为我们的数据仓库在版本控制中build立一个存储库文件夹和文件结构。 目前我有代码创build虚拟文件和文件夹与C#代码(见下文)。 但是,有共享的对象。 所以我想创buildWindows文件和Windows文件夹以及文件的快捷方式的快捷方式。 C#中的代码将如何实现? 通过C#.NET代码创build文件夹: string activeDir = @"C:\Source\EDW\dw-objects\trunk\table-objects"; string objectName = reader[0].ToString(); string newPath = System.IO.Path.Combine(activeDir, objectName); System.IO.Directory.CreateDirectory(newPath); 代码取决于基于格式的文件

以编程方式更改播放设备xp

我怎样才能改变当前正在使用的声卡(XP),而不必进入控制面板>声音设备>select播放设备。 任何语言就足够了,或batch file,只是我必须改变设备每天播放50次左右,每次都要加载控制面板。 谁知道如何?

用.NET存储应用程序上传文件

现在,我已经意识到,我不能使用普通的.NET来编写我的Windowsapp store应用程序,我试图通过.NET商店应用程序的混乱。 我最近的发现是System.Net.WebClient类缺失,我需要使用它来上传文件。 如果这堂课在那里,我会做一些事情: webClient.UploadFile("http://my.website/upload.php?a=" + someParam, "POST", filepath); 不幸的是,我不能在.NET中为Windows存储做这个。 我如何才能实现一个类似的function,只使用.NET的Windows存储?