在MacOS中创建C#ClassLibrary的问题(​​.Net Core 2.0)

时间:2017-12-06 18:31:52

标签: c# .net visual-studio asp.net-core-2.0

我试图在MacOs中创建.net核心应用程序时非常困惑。

我按照此处找到的tutorial进行了操作,但是当我尝试使用其他依赖项创建另一个ClassLibrary时,任何工作都有效,我无法理解原因。

我使用.net核心SDK安装了VisualStudio 2017,所以我认为我的Mac现在已经全部pre-requisites来创建我的C#库。有关信息,当我输入dotnet --version时,我会收到2.0.0

所以我创建了一个新的ClassLibrary,并将目标框架设置为netStandard 1.4,并遵循指令found here,因为我希望我的库可以在MacO和NetCore之外的其他环境中使用。

问题是,显然,我的mac中的net core 2.0没有创建库的所有必要程序集,因为下面的简单代码会被消息打破

  

"错误CS0234:类型或命名空间名称'密码学'才不是   存在于命名空间中的System.Security' (你错过了一个集会吗?   参考?)(CS0234)"

MD5 md5 = new MD5CryptoServiceProvider();

我的代码using System.Security.Cryptography;位于我的文件顶部,所以它应该有效,因为这个模块是available since netstandard1.1,对吗?

我知道我在做某种混乱,但我想知道我的错误在哪里。

我是否可以在我的MacOS中创建一个针对netstandanrd1.4的ClassLibrary甚至运行.NET CORE 2.0?如果是,我在哪里可以找到.NET库的缺失程序集?我应该安装什么吗?

1 个答案:

答案 0 :(得分:0)

.NET Standard 1.4仅在.NET Core 1.0中受支持。不是2.0

Reference of Supported Libraries

您可以通过使用以下命令在.csproj文件中指定此目标来定位以前版本的.NET Core:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

</Project>