我试图在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库的缺失程序集?我应该安装什么吗?
答案 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>