Articles of .net core

.NET环境下的TimeZoneInfo托pipe在unix(nginx)

例如,当我尝试执行以下操作时。 TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time") 我得到的错误,时TimeZone在本地计算机上不可用。 当我在本地运行这个工作,但我在窗口上运行它。 在部署时,它在Nginx的Unix机器上运行。 我可以看到FindSystemTimeZoneById在Unix中查找错误的文件夹。 有什么办法可以做这个工作吗?

无法在linux编译期间findbscmake.exe

我有一个用C#和C ++编写的项目,我希望它能在Windows和Linux上运行。 因此,我正在使用.NET Core进行跨平台。 当我尝试在Windows中编译项目时,一切正常。 但是当我尝试在Linux环境下(Ubuntu 16.04)编译它时,使用SSH端口到不同的linux计算机(openssh-server + curl + unzip,根据编译的某个链接我得到了…),这引起了出现以下错误: 无法findbscmake.exe 即使它在我升级到16.04之前使用Ubuntu 14.04时运行良好我忘了在Linux下载一些软件包吗? 在互联网上search与我的情况没有任何关系…有没有人知道为什么这个错误发生?

在Linux上从.NET Core手动调用recvmsg不会返回

我正在为.NET Core编写一个DBus客户端。 对于某些function(例如systemd的抑制剂锁),需要通过Unix套接字连接接收文件描述符,并且需要recvmsg放入struct msghdr中的与控制相关的消息。 .NET的套接字API不允许我访问该function(或抽象),所以我必须手动调用它。 导致我第一次recvmsg调用的代码的胆量在这里 。 当我对net462进行编译并在Ubuntu 16.04或Yocto发行版(也是Mono)上运行Mono 5.0.1时,一切都按预期运行。 当我对netcoreapp1.1 / netstandard1.6进行编译并使用dotnet运行时,问题就开始了: recvmsg调用不会针对org.freedesktop.DBus的第一个Hello调用返回。 我可以用dbus-monitor –system看到方法调用已经离开我的应用程序,并且DBus发送了方法返回以及NameOwnerChanged和NameAcquired信号。 几个注意事项: 对于我在Ubuntu上的testing,我已经将iovec和msghdr的size_t字段从int更改为long ,实际上是64位(尽pipe看起来像结构所需的alignment方式使其工作) 套接字上的实际ConnectAsync调用稍有不同:对于net462,我从.NET Core 1.1复制了扩展方法 为了让我的手在本地套接字句柄上,我可以使用net462上的句柄属性,但是要求在netcoreapp1.1构build中反映私有字段 。 我也检查了与.NET Core 2.0的预览版本,这些行为完全像.NET Core 1.1 调用Read套接字而不是recvmsg工程,虽然内部读取只是映射到recvmsg 我已经比较了Mono和.NET Core之间Socket的公共属性,没有明显的区别:访问ExclusiveAddressUse在Mono上工作,但是在.NET Core上抛出。 在接收线程开始工作之前,有一些validation代码在这里 。 这做了一些基于TPL的sockets读取。 我试图通过CoreFX套接字代码,但由于涉及的复杂性,这并不完全有趣。 缺less的链接是什么?

如何将服务器证书绑定到Linux .NET Core 2.0上的HttpListener SSL端口

用于HttpListner的.Net Core 2.0 Microsoft 文档有一个注释,指出可以使用随Windows Server 2003附带的HttpCfg.exe程序将服务器证书与端口相关联。 我正在寻找一种方法将服务器证书绑定到Ubuntu Linux上的HttpListener端口。

如何使用.Net Core从linux的远程计算机,同一networking获取mac-address

只要“服务器”或应用程序在Windows和.NET Framework中运行,我已经有了可以识别networking中设备的Mac-Address的工具。 我在用着: using System; using System.Net; using System.Net.NetworkInformation; using System.Net.Sockets; using System.Runtime.InteropServices; namespace Tools { /// <summary> /// Ferramentas para rede local /// </summary> public static class NET { private static string _erro; public static string ErrorMessage { get { return _erro; } } [DllImport("iphlpapi.dll", ExactSpelling = true)] public static extern int SendARP(int DestIP, […]

如何在Debian Jessie中安装dotnet core sdk

我在Debian Jessie Box上安装Dotnet Core SDK时出现问题。 这是我遵循https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x指南。 注册产品密钥和饲料后,我所得到的是Unable to locate Package时尝试执行apt-get install dotnet-sdk-2.0.0或dotnet-sdk-2.0.2 。 我目前以root身份login,因为这是我的本地开发机器。 重现步骤: curl https://packages.microsoft.com/keys/microsoft.asc | gpg –dearmor > microsoft.gpg mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main" > /etc/apt/sources.list.d/dotnetdev.list' apt-get update apt-get install dotnet-sdk-2.0.0 Reading package lists… Done Building dependency tree Reading state information… Done E: Unable to locate […]

当dotnet工具无法启动(无法初始化)我设置了什么样的环境variables来获取更详细的信息?

我知道我已经在某处或某处的博客上阅读过,您可以设置一些环境variables,以便在启动调用dotnet工具(asp.net core dotnet命令行工具)时发生崩溃时向您提供更多信息。 我在OpenSuSE Linux系统上使用了dotnet 1.0.0 rtm,并且崩溃了,如下所示: > dotnet version Failed to initialize CoreCLR, HRESULT: 0x80131500 为了得到更多关于为什么的信息,是否有一些环境variables可以设置告诉我为什么它不会启动? 我知道你可以用dotnet –info得到一些unix系统信息,但是在我的情况下也崩溃了,同样也没有初始化错误。 我知道我可以做一个strace(strace dotnet版本),但我认为这里面有一些内置的东西

在Linux上使用.NET核心的Roslyn:如何加载外部项目?

首先,我对Roslyn不太了解。 我经历了几个热门教程来生成代码,以及如何parsing包含代码的string。 到目前为止,一切都清楚了。 这是我的问题:我在Linux上使用dotnet核心1.0.1。 我用一些定义一些属性的接口创build了一个新项目。 我想要做的是创build一个程序,我可以加载项目,运行通过接口(* .cs文件),并生成一些代码。 我的问题是,我不知道如何加载/打开与Roslyn ac#项目。 我发现的教程是使用Windows环境。 这些示例不适用于我的环境,因为有一些MSBuild或Visual Studio的依赖项。 我阅读并尝试了一些关于AdhocWorkspace的内容,但是我没有设法以这种方式打开现有的解决scheme。 任何人都可以给我一个提示如何开始? 是否可以打开/加载项目(* .csproj)并运行所有* .cs文件? 提前致谢。

在centos linux上的dotnet恢复错误:访问path被拒绝

我正在一个centos 7服务器上运行一个TFS2017 / VSTS构build代理,并在构build过程中收到以下错误: 2017-05-23T02:35:57.4457330Z [command]/usr/local/bin/dotnet restore ./src/DocPropsService.sln 2017-05-23T02:35:59.8903860Z Restoring packages for /myagent/_work/3/s/src/CommandService/DocProps.CommandService/DocProps.CommandService.csproj… 2017-05-23T02:36:09.8543710Z Generating MSBuild file /myagent/_work/3/s/src/CommandService/DocProps.CommandService/obj/DocProps.CommandService.csproj.nuget.g.props. 2017-05-23T02:36:09.8786540Z /opt/dotnet/sdk/1.0.4/NuGet.targets(97,5): error : Access to the path '/myagent/_work/3/s/src/CommandService/DocProps.CommandService/obj/23507835-d558-4207-80a0-85b919019109.tmp' is denied. [/myagent/_work/3/s/src/DocPropsService.sln] 2017-05-23T02:36:09.8812240Z /opt/dotnet/sdk/1.0.4/NuGet.targets(97,5): error : Permission denied [/myagent/_work/3/s/src/DocPropsService.sln] 代码正在使用git生成代理检查出来,但恢复命令失败。 我使用的dotnet的版本是1.0.4。 我不是很好的Linux,不知道从哪里开始。 任何forms的帮助都是非常有用的。

将文件从Linux复制到Windows共享与C#(.NET核心)

我正在使用.NET核心运行在Linux机器上的应用程序(准确地说,是一个docker容器) 我怎样才能从那里复制一个二进制文件到一个Windowsnetworking共享(包括用户名和密码)? 我发现的所有解决scheme都是特定于Windows的,但与Linux无关。