首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    .NET Standard SDK 样式项目中的目标框架

    可以使用 netstandard 精简 TFM(例如 netstandard1.4)来设定 .NET Standard 框架作为目标。 如果构建的库将用于在多个运行时上运行,就应将此框架作为目标。...对于最广泛的 API 集,将 netstandard2.0 设定为目标,因为 .NET Standard 2.0 的可用 API 数量比 .NET Standard 1.6 的两倍还多。....NETStandard.Library 元包引用定义 .NET Standard 的一整套 NuGet 包。 要指定 netstandard 作为目标,最常见的方法是引用此元包。...将复数形式的 TargetFrameworks 元素与多个目标框架一起使用。...使用表示 .NET Standard、.NET Core 或 .NET 5 TFM 的符号时,请用下划线替换点和连字符,并将小写字母更改为大写字母(例如,netstandard1.4 的符号为 NETSTANDARD1

    1.9K21

    从以前的项目格式迁移到 VS2017 新项目格式 必须删除必须修改添加文件项目引用引用包删除多余文件输入注释多个框架使用条件判断迁移 WPF 项目

    VS2017 的项目格式更好读、更简单而且减少了 git 冲突。 本文来告诉大家如何从 VS2015 和以前的项目格式修改为 VS2017 项目格式。...因为现在存在一些项目是使用多个开发框架,这时就需要修改TargetFramework为TargetFrameworks也就是写为复数的TargetFrameworks,把里面的一个框架修改为多个,请看下面... net45;netstandard2.0 如果想知道每个平台的缩写...netstandard1.5 netstandard1.6 netstandard2.0 .NET Core netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1...,如 ValueTuple ,就需要在引用的时候添加条件 添加条件可以使用这样的代码Condition=" '$(TargetFramework)' == 'net40' 把 net40 修改为你希望的框架就在指定的框架引用库

    4.6K20

    .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    指定项目支持的框架,以及有关如何为特定框架构建项目的配置详细信息。 标识独立应用的目标平台,它含有其所有依赖项,包括对应平台所需的特定于平台的 .NET Core 运行时。...netcoreapp1.0 是个多目标框架对象名字(TFM)值,除了有经典的net45,net46,现在又有了一些新的像netcoreapp1.0,文章 Running .NET Core apps...: https://www.nuget.org/packages/NETStandard.Library/,里面包含了多个目标版本,类似于老的PCL方法,以后就使用NETStandard.Library...本质上来说,NETStandard.Library 是一个目标最低支持基础类库,这样就可以更好的向前兼容性,在现有的平台出现新的版本时(如.net core 1.1 甚至 2.0)而无需重新发布新的变化...更新并保存 global.json 后,一旦 Visual Studio 成功找到源代码,它会自动将项目添加到你的解决方案,使你可以调试到源代码。

    3K80

    自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference

    自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference 发布于 2018-04-24 10:03...迁移成基于 Microsoft.NET.Sdk 的新 csproj,不过全过程是手工进行的,而且到最后处理 XAML 问题也非常头疼。...XDT 变换将失效 使用 PackageReference 后,在安装和写在的过程中 XDT 转换将不会执行,并且会忽略 .xdt 文件。 在 Web 应用开发中会更留意这个问题。...lib 根目录中的程序集将被忽略 lib 文件夹内的程序集都应该按照目标框架建立子文件夹,例如 net45、netstandard2.0、netcoreapp2.0。...PackageReference 要求只能引用在某个目标框架下的程序集。 如果是使用默认的方式创建的 NuGet 包,基本上不会遇到这样的问题。

    2.2K20

    Magicodes.IE编写多框架版本支持和执行单元测试

    虽然支持标准库2.0,但是通过编写单元测试,确实发现如此: ? 因此,单元测试确实需要针对各个框架版本进行测试,并且相关代码需要针对框架进行兼容修改。那么如何实现呢?接下来我们一步步实践。...3.0 netcoreapp3.0 2.1 .NET Framework 4.8 net48 2.0 支持的目标框架版本 目标框架通常由 TFM 引用。...下表显示 .NET Core SDK 和 NuGet 客户端支持的目标框架。 等效项显示在括号内。 例如,win81 对于 netcore451 来说等效于 TFM。...netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1 .NET Core netcoreapp1.0 netcoreapp1.1 netcoreapp2.0...如上面所示,左侧代码在net461、netcoreapp2.2都是无法通过的,格式化的参数模板不一致。

    88310

    C#.NET 如何创建带有本机依赖的多框架多系统 NuGet 包

    否则可能迫于 .NET Core 下我还没懂的 .deps 文件的引用机制,你将无法同时引用托管和 C++/CLI 程序集。...另外,目标框架我们选了两个,与最终包含的本机依赖的框架种类对应,即分别允许高于 .NET Core App 3.1(含 .NET 5/6)和 .NET Framework 4.5.2 框架的程序集引用此项目...(实际上是可以正常引用并编译通过的,但在 .NET Core 框架下无法运行。) 第四步:再建一个普通的类库 再建一个普通的类库,引用之前创建的项目。...本机依赖包会自动根据 NuGet 的依赖安装 .NET Framework 项目 对于 .NET Framework 项目,项目编译后,NuGet 会自动将本机依赖包里对应架构和框架的文件拷贝到输出目录中....NET Core App 项目 对于 .NET Core App 项目,项目编译后,输出目录下会出现“runtimes”和“ref”两个文件夹,分别对应 NuGet 包里的同名文件夹,不过只包含业务项目需要的框架

    1.9K50

    微软官方的 NuGet 包是如何做到同时兼容新旧框架的?例如 System.ValueTuple 是如何做到在新旧版本的框架都能使用的?

    不知你是否好奇,System.ValueTuple 是新框架(.NET Core 3.0)开始引入的类型,但可以通过 NuGet 包向旧框架提供这些类型的使用。..."> Exe net462;net48;netstandard2.0...我们在示例项目的 net462 的输出目录下找到 System.ValueTuple.dll 进行反编译可以看出来这一点: 新框架不冲突 我们再去新框架里面看看 System.ValueTuple 的情况...可发现它提供了这些不同框架的支持: 其中: net47 框架使用的是 TypeForwardedTo 的垫片 net461 / netstandard1.0 / portable-net40+sl4+...win8+wp8 框架使用的是完整版本的 System.ValueTuple netcoreapp2.0 / netstandard2.0 / mono 全系列 / xamarin 全系列 / uap

    1K10

    .NET Core系列 :3 、使用多个项目

    web是asp.net core 模板,xunittest是测试项目,Lib就是我们需要创建的类库项目类型,所以我们将加上-t 参数指定为Lib,Scott Hanselman 的博文 Exploring...依赖的框架不是netcoreapp1.0,而是用了一个netstandard1.6替代,上面一篇文章我们简要说明了一下,本质上来说netcoreapp1.0和.NET 4.6.3 都是NETStardard...本质上来说,NETStandard.Library 是一个目标最低支持基础类库,这样就可以更好的向前兼容性,在现有的平台出现新的版本时(如.net core 1.1 甚至 2.0)而无需重新发布新的变化...如何理解这个表格 如果一个类库指定.NET平台标准1.3版本,那么它仅能够运行在.NET Framework 4.6或更新的框架、Universal Windows Platform 10(UWP)、DNX...如果我们想要我们的类库项目,也可以更广泛地使用,比如旧版本的.Net项目也可以用, 我们可以降低修改为 netstandard1.0,这意味着所有.Net 4.5 或更高版本的运行时兼容,再加上Windows

    1.4K90

    杂谈 System.Drawing.Common 的跨平台性(关键词:libgdiplus .NET Core Mono Win32 Linux ……)

    它从 API 级别就分离出 .NET Framework 中不跨平台的部分,然后把它们从 .NET 的核心仓库中移除,换成 .NET 的扩展框架(如 WPF / Windows Forms)。...MonoTouch10 net461 netstandard2.0 xamarinios10 xamarinmac20 xamarintvos10 xamarinwatchos10 net461 里包含的...netstandard2.0 适用于 .NET Core 框架,里面包含的 dll 就是前面我们说到的所有方法都抛出 PlatformNotSupportedException 的版本。...4.6.1 及以上版本 ✔️ ✔️ .NET Core 1.x ❌ ❌无法安装包 .NET Core 2.0 - .NET Core 2.1 ❌ ❌运行时抛出PlatformNotSupportedException...如果不能完全实现此版本 NuGet 的功能,那么编译时是无法将正确的 dll 拷贝到输出目录的。不幸的是,目前流行于 Unity 的第三方 NuGet 管理器不能正确拷贝此包的 dll 到输出目录。

    3.7K60

    .NET Core跨平台的奥秘:全新的布局

    在过去十多年中,微软将.NET引入到了各个不同的应用领域,表面上看起来似乎欣欣向荣,但是由于采用完全独立的多目标框架的设计思路,导致针对多目标框架的代码平台只能通过PCL(参考《.NET Core跨平台的奥秘...Visual Studio提供相应的项目模板帮助我们创建基于.NET Standard的类库项目,这样的项目会采用专门的目标框架别名netstandard{version}。...一个针对.NET Standard 2.0的类库项目具有如下的定义,我们可以看到它采用的目标框架别名为 “.NET Standard 2.0” 。...对于演示的这个实例来说,这个NetStandardLib类库项目针对的目标框架为.NET Standard 2.0,后者最终体现为一个名为NetStandard.Library.nupkg的NuGet包...所有对于一个目标框架为.NET Standard的类库项目编译生成的程序集来说,它们保留了针对程序集netstandard.dll的引用。

    1.4K70
    领券