【问题标题】:Problems to create a C# ClassLibrary in MacOS (.Net Core 2.0)在 MacOS (.Net Core 2.0) 中创建 C# 类库的问题
【发布时间】:2017-12-06 18:31:52
【问题描述】:

尝试在 MacOs 中创建 .net 核心应用程序让我很困惑。

我按照此处找到的tutorial 进行操作,一切正常,但是当我尝试使用其他一些依赖项创建另一个 ClassLibrary 时,一切正常,我不明白为什么。

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

所以我创建了一个新的 ClassLibrary,并将目标框架设置为 netStandard 1.4,按照说明 found here,因为我希望我的库可以在 MacOs 和 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 库的缺失程序集?我应该安装什么吗?

【问题讨论】:

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


    【解决方案1】:

    .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>
    

    【讨论】:

    • 在哪里可以找到此信息?您知道我应该如何使用 Mac 创建与其他旧的 netstandard 实现兼容的库吗?
    • 我链接了上面的参考文章。您可以在项目中以 .NET Core 1.0 为目标。我将更新关于如何定位 .NET Core 1 的答案。
    • 这是不正确的。 .NET Standard 是相互构建的。 .NET Standard 1.4 支持的任何内容,.NET Standard 2.0 都应该支持。您可以将 .NET Standard 1.4 库添加到 .NET Core 2.0 项目中。
    • @MindingData。按照问题中的链接,我也理解了它(The column header indicates the .NET Standard version that your target supports (and any lower .NET Standard versions will also support it).,根据链接),但显然它不起作用或者我做错了什么。以 netcore 1.0 为目标目前看来是一个可用的解决方案。 ://
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2018-01-27
    • 2018-08-28
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多