Articles of .net

我有一个清晰的C程序,我可以编译它作为Linux服务器的可执行文件,这样我就可以在服务器上运行它,而无需安装单声道?

可能重复: 如何将一个简单的.Net控制台项目转换为Mono和mkbundle的可移植的exe文件? 我有一个写在Windows上的C#程序,我需要将它转移到Linux服务器。 然而,客户端不需要在他的服务器上安装单声道,所以我想find一种方法,使他容易。 有没有可能转换这种程序的格式,它将在没有单声道安装在Linux上运行?

最佳视觉工作室像Linux开发的工具

我需要为我目前正在编写的一个项目编写一些程序,而且我非常习惯于Visual Studio 2008,我不介意使用Python进行编程,但是我需要在语言本身的顶部有一个舒适的GUI编程,而且必须整合和快速。 我知道这是很多要求,但是Linux有没有这样的事情? 我知道单声道,但我发现它不完全兼容或我想要的能力,坦白地说,程序看起来像在Linux中运行的狗屎 编辑:我没有丢弃GTK#,只有Mono Winform

在Linux上运行.NET Core – 什么都不写

我在Visual Studio中创build了项目vNext控制台应用程序。 我将这些文件复制到linux机器上。 并尝试运行它们 ubuntu@ubuntu-Virtual-Machine:~/ConsoleApp2/src/ConsoleApp2$ dnvm list Active Version Runtime Architecture OperatingSystem Alias —— ——- ——- ———— ————— —– * 1.0.0-rc1-final coreclr x64 linux 1.0.0-rc1-final mono linux/osx default ubuntu@ubuntu-Virtual-Machine:~/ConsoleApp2/src/ConsoleApp2$ dnu restore ubuntu@ubuntu-Virtual-Machine:~/ConsoleApp2/src/ConsoleApp2$ dnx run ubuntu@ubuntu-Virtual-Machine:~/ConsoleApp2/src/ConsoleApp2$ 我的应用程序没有运行。 但是,如果我切换dnvm单声道,它工作正常。 我的文件内容是 Program.cs中 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace ConsoleApp2 { public class Program { public […]

在linux服务上处理kill – .NET Core 1.1

我想写一个Linux服务(如Windows服务),但我不知道如何安全地停止这项服务。 我读了 AssemblyLoadContext.Default.Unloading += MethodInvokedOnSigTerm; 但在.NET Core 1.1上不存在。 你有什么想法 ?

.Net核心忽略环境variablesDOTNET_SKIP_FIRST_TIME_EXPERIENCE

看起来你可以通过设置环境variablesDOTNET_SKIP_FIRST_TIME_EXPERIENCE=true 来节省一些.NET Core的编译时间 。 我发现在CentOS 7和Debian Jessie Linux发行版上情况并非如此。 我有jenkins用来build立.NET核心服务的jenkins奴隶jenkins.slave.dotnet.image图像,我的图像标签是jenkins.slave.dotnet.image 。 Jenkins Docker Plugin使用jenkins.slave.dotnet.image在构build触发时启动从容器。 Jenkins Docker插件可以访问jenkins.slave.dotnet.image所在的Docker主机。 在我的jenkins.slave.dotnet.image我设置了如下的环境variables: ENV NUGET_XMLDOC_MODE skip ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE true 所有的工作都很好,除了那些环境variables被dotnet命令忽略之外,看到一个.NET Core服务的Jenkins构build的输出,如果环境variablesDOTNET_SKIP_FIRST_TIME_EXPERIENCE=true被dotnet检查,你不应该在图像中看到圈出的文本CMDS: 将( docker exec -it jenkins.slave.dotnet.container bash )连接到使用jenkins.slave.dotnet.image的容器,可以看到DOTNET_SKIP_FIRST_TIME_EXPERIENCE已正确设置为“true”: dotnet的输出–info: 这是我的Jenkins Slave Docker镜像( jenkins.slave.dotnet.image )的jenkins.slave.dotnet.image ,我的Jenkins主要运行容器来执行.NET Core Builds( 这是dotnet publish -c Debug -vm执行的环境 ): FROM tsl.devops.jenkins.slave.basic.docker.image MAINTAINER Brian Ogden ############################################# # .NET Core […]

如何枚举运行.Net Mono的networking共享?

我最近浏览了运行.Net应用程序的浏览networking(和networking共享来枚举文件夹和文件),我发现了一个解决scheme,现在正在使用WMI或PInvoke。 但我想知道使用单声道的跨平台… 我的解决scheme似乎只适用于Windows(但也许我错了?),如何正确处理这个Linux(以及Windows)站上运行? 我应该检测当前的操作系统,并提示一个标准的命令行工具,将被parsing,以获得相同的结果在不同的系统? 对于Linux,我应该parsingProcess的smbclient结果吗? (见http://www.cyberciti.biz/tips/howto-find-for-available-smb-shares.html )

单实例.NET核心应用程序(或使crontab只运行我的应用程序的一个实例)

我想在Linux中使用crontab 按计划执行.NET核心应用程序。 这是一个长时间运行的操作, 如果之前的执行尚未完成 , 我不希望再运行另一个实例 。 换句话说,我不希望crontab在给定的时间执行我的.NET Core应用程序的多个实例。 有什么办法可以避免吗? 我不想修改我的应用程序的代码。 也许有一个crontab的选项,以避免并发。 我不是Linux专家(还):)

如何在Mono中获得“友好”的串口名称并保持跨平台

我问了这个问题: 单声道串口(rs232)适用于多种平台 这一个是相关的: 如何在Windows中获得COM端口的友好名称? 但是我希望能够在Windows上获得“友好”的名字,如果有这样的事情,也可能在linux / mac上。 有没有跨平台的方式去做,还是我运气不好? 这就是我在当前的应用程序中所做的 – 对于本地C ++ win32来说,这非常有用。 http://www.naughter.com/enumser.html 无论如何,它看起来不像一个跨平台发布的漂亮解决scheme。 有没有人有什么build议? 编辑 – 因为人们无法理解我所要求的:例如,COM9不是一个友好的名字。 我想要的东西说“COM9 – USB连接器”或类似的东西。 这是可能的与Win32上面的链接。 这是令人讨厌而且很冒险的,但很多时候,最终用户不知道在我的程序中需要打开什么COM端口,除非有一个有用的名字 – 比“COMn”更有用。

在.NET中的事务性打开/写入/replace?

我想也许我应该限制到8K。 我想打开一个文件,每次都从头到尾写。 但是,如果由于某种原因(如停电),它不完成我不想腐败的数据。 有没有办法我可以做一个事务性的文件打开/写/closures所以它不会取代以前的文件,除非它的成功? 当我谷歌我得到了很多结果数据库事务和ado而不是文件

许多文件之间的许多数据最快的套接字方法

我正在构build一个套接字应用程序,需要将许多中小型文件(如5-100kb大小的文件)转换为许多不同的客户端(有点像Web服务器,但仍不完全)。 我应该只使用标准的poll / epoll(linux)或winsock(win32)中的asynchronous套接字,还是有更多性能的方法(例如在win32上重叠I / O)? Linux和Windows都是可能的平台!