自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference 发布于 2018-04-24 10:03...相比于之前写的手工迁移,自动迁移方式没有改变 csproj 的格式,而只是将 NuGet 的引用方式改成了 PackageReference。...而此前 content 指定的资产将失效。 建议检查所有依赖的 NuGet 包,如果你有权限修改部分依赖包,那么请使用 contentFiles 来替代 content。...lib 根目录中的程序集将被忽略 lib 文件夹内的程序集都应该按照目标框架建立子文件夹,例如 net45、netstandard2.0、netcoreapp2.0。...如果是使用默认的方式创建的 NuGet 包,基本上不会遇到这样的问题。除非你在创建 NuGet 包时有自定义操作在根目录放了程序集。
一、本地dll如何打包,以及版本的更新 本小节主要介绍两种方式将本地dll打包为Nuget包, 1.1 利用nuget.exe进行打包(应用于.net framework) 1....下载nuget.exe nuget.exe下载地址:https://www.nuget.org/downloads。 下载完成后,不需要安装。请将nuget.exe复制到需要打包的项目文件夹中 2....打包成.nupkg包 ? 首先运行.\nuget sepc 生成.nuspec配置文件,用于nuget的配置项 然后运行.\nuget pack packageName 发布成nuget包 3....文件夹映射为 nuget-server的包,其中要有packages文件夹。...\ClassLibrary1.1.2.0.nupkg samlong -Source http://localhost:56546/nuget delete 从指定 -Source上移除一个包,必须指定版本
对于.NET Core来说,所有使用到的程序集都被打包成一个NuGet包,所以针对程序集的直接依赖转变成针对某个NuGet包的依赖。...,在nuget管理中也可以看到这是默认的离线包目录,我们需要什么样的包只要把它复制到这个目录,在nuget管理中的程序包源选择离线的源即可。...与 project.json 文件不同,它包括特定的包版本号,可支持通配符。如果没有 project.json.lock,将完整还原包。...global.json global.json是一个有待探究的神奇配置文件,我最喜欢的一个功能是全新的支持调试和单步执行,甚至可以实时修改包的源代码。...否则,会加载包文件夹中编译的二进制程序。
NuGet.Config,将该文件夹中的 Microsoft.VisualStudio.Offline.config 文件的内容复制到新建的 NuGet.Config 中,再在其中添加上述的节点。...修改项目中的包路径 安装包时,NuGet 会先搜索全局包管理目录,如果需要安装的包已经存在,则不会去 NuGet 网站下载,不存在时则会先将包下载至本地全局目录下。...然后将全局包管理目录下的包文件拷贝一份至当前项目下的 packages 文件夹中,并将相应 DLL 添加至项目引用。...(你在全局包管理目录下找一个包,在其中新建一个文本文件,然后在项目中通过 NuGet 安装该包,你会发现你新建的这个文本文件也被复制到了项目的 packages 目录下的对应包中。)...时,NuGet 会检测这个配置文件并读取里面的配置信息,如果子目录内也有 NuGet.config 文件,那么 NuGet 会自动将子目录内的配置与上级目录的配置合并,存在相同的配置时,以子目录内的配置优先
主机模块将首先尝试使用本地配置文件,然后它将检查全局配置文件(如果存在),最后它将使用CoreHook.CoreLoad.dll程序集的目录来解析依赖项。...注意:使用 本地计算机用户名替换或修改指向NuGet软件包安装位置的路径。看看CoreHook.FileMonitor.runtimeconfig.dev.json在输出目录中找到。...将x86和x64应用程序的环境变量设置为运行时配置文件的目录。这允许您为应用程序32-bit和64-bit应用程序提供不同的配置文件。...您可以使用download-deps脚本,该脚本将最新的二进制版本下载到deps项目根目录中调用的文件夹中。...然后,您可以将该文件夹复制到您的设备并启动该CoreHook.FileMonitor.exe程序。 发布脚本 PowerShell脚本publish.ps1允许您将示例发布为自包含的可执行文件。
这篇文章的主要目的: 1.搭建自己的私有的nuget服务器 2.打包代码为nuget包 3.在其他项目中使用私有服务器上的nuget包 一. 搭建自己的nuget服务器 1....创建一个空的ASP.NET Web 应用程序 ? ? 2.使用nuget管理器,添加nuget.server包 ? 安装成功以后,目录结构如下图 ? 3....从图中可以看出,错误原因: web.config中有节点重复错误 4. 修改web.config中的错误节点:即删除重复节点 compilation ?...进入项目所在文件夹,并把nuget.exe复制到该文件夹下 注意:nuget.exe下载路径,在这 ? ? 如上图,并在该目录进入cmd命令 5. 在该目录下,操作cmd命令 ?...在其他项目中,使用我们私有nuget服务器上的nuget包 1. 右键解决方案,添加一个新的项目 ? 选择ASP.NET Web应用程序 ,项目名称 NugetTest ? 选择mvc ?
创建应用程序 第一步是创建应用程序: 创建新文件夹,并在该文件夹中运行以下命令: .NET CLI dotnet new console -o AppWithPlugin 为了更容易生成项目,请在同一文件夹中创建一个...此部分允许将插件接口作为包发布,而无需发布完整的应用程序。 在项目的根文件夹中,运行 dotnet new classlib -o PluginBase。...使用根文件夹中的 dotnet add AppWithPlugin/AppWithPlugin.csproj reference PluginBase/PluginBase.csproj 命令将引用从...示例中的 JsonPlugin 和 OldJsonPlugin 项目显示了具有 Newtonsoft.Json 上的 NuGet 包依赖项的两个插件示例。...从 NuGet 包引用插件接口 假设存在应用 A,它具有 NuGet 包(名为 A.PluginBase)中定义的插件接口。如何在插件项目中正确引用包?
创建一个自定义ASP.NET Core RazorPage Docker镜像 本节课,我们通过创建一个自定义 Dockerfile 文件,将示例YoYoMooc.Exampleapp应用程序制作为...当您将 ASP.NET Core 应用程序容器化时,所有已编译的类文件,NuGet 包,配置文件,并将 Razor 视图添加到镜像中。...COPY 命令复制文件或文件夹放入容器。 COPY dist /app 此命令是将dist的文件夹中的文件复制到容器/app的文件夹中。目前 dist 文件夹不存在,我们会在后面准备它。...不必指定YoYoMooc.ExampleApp文件的路径,因为它假定位于 WORKDIR 命令指定的目录中,而目录将包含所有的应用程序文件。...dist dotnet restore命令是为了确保项目已经拥有所有需要的 Nuget 包。
项目通过项目引用或 NuGet 包引用所依赖的其他库。 对于目标版本低于 .NET Core 3.0 的可执行项目,通常不会将 NuGet 中的库依赖项复制到输出文件夹。...而是在运行时从 NuGet 全局包文件夹中对其进行解析。 考虑到这一点,dotnet build 的产品还未准备好转移到另一台计算机进行运行。...对于面向 .NET Core 3.0 及更高版本的可执行项目,库依赖项会被复制到输出文件夹。 这意味着如果没有其他任何特定于发布的逻辑(例如,Web 项目具有的逻辑),则应可部署生成输出。...--no-self-contained 将应用程序发布为与框架相关的应用程序。 必须在目标计算机上安装兼容的 .NET 运行时才能运行应用程序。 自 .NET 6 SDK 起可用。...--source 要在还原操作期间使用的 NuGet 包源的 URI。 -v|--verbosity 设置命令的详细级别。
本文适用于: ✔️ .NET Core 2.1 SDK 及更高版本 “属性” dotnet publish - 将应用程序及其依赖项发布到文件夹以部署到托管系统。....runtimeconfig.json 文件,其中指定了应用程序所需的共享运行时,以及运行时的其他配置选项(例如垃圾回收类型)。 应用程序的依赖项,将这些依赖项从 NuGet 缓存复制到输出文件夹。...建议在发布配置文件中而不是在命令行中指定 PublishReadyToRun。 PublishSingleFile 将应用打包到特定于平台的单个文件可执行文件中。...在 Web 项目中,如果输出文件夹位于项目文件夹,则连续的 dotnet publish 命令将产生嵌套的输出文件夹。...若要避免嵌套发布文件夹,请指定一个不在项目文件夹正下方的发布文件夹,或从项目中排除发布文件夹。
dotnet pack 创建代码的 NuGet 包。 dotnet publish 发布 .NET 依赖于框架或独立应用程序。 dotnet restore 还原给定应用程序的依赖项。...NuGet 包 命令 函数 dotnet add package 添加 NuGet 包。 dotnet remove package 删除 NuGet 包。...NuGet 命令 命令 函数 dotnet nuget delete 从服务器删除或取消列出包。 dotnet nuget push 将包推送到服务器,并将其发布。...dotnet nuget locals 清除或列出本地 NuGet 资源,例如 http 请求缓存、临时缓存或计算机范围的全局包文件夹。...全局、工具路径和本地工具命令 工具是控制台应用程序,它们从 NuGet 包中安装并从命令提示符处进行调用。 你可自行编写工具,也可安装由第三方编写的工具。
已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。...dotnet-pack - 将代码打包成 NuGet 包 概要 dotnet pack [--output] [--no-build] [--build-base-path] [--configuration...dotnet pack --output nupkgs 打包当前的应用程序,并将生成的包放置到指定的文件夹中。...目标配置文件。...这意味着,我们 NuGet 包只适用于.Net Core 应用程序 针对 NetStandard1.6 (和即将到来的 4.6.3),文章 拥抱.NET Core,如何开发一个跨平台类库 (1) 对Nuget
在本系列的这一部分中,你将了解如何: 创建一个 *.csproj 项目以生成模板包 配置项目文件以进行打包 从 NuGet 包文件安装模板包 按包 ID 卸载模板包 先决条件 完成本系列教程的第 1 部分和第...只要将不同的模板作为文件夹复制到 working\templates\ 文件夹中,就可以使用该模板。 打开终端并导航到 working\ 文件夹。...创建模板包项目 模板包是打包到 NuGet 包中的一个或多个模板。 安装或卸载模板包时,将分别添加或删除包中包含的所有模板。 本系列教程的前几部分仅适用于各自的模板。...并且,与任何 NuGet 包一样,可以将模板包上传到 NuGet 源。 dotnet new --install 命令支持从 NuGet 包源安装模板包。...通过更改 .csproj 的设置,可以阻止它编译任何代码,而是将模板的所有资产都包含在内作为资源。 生成此项目后,它会生成模板包 NuGet 包。 将要创建的包将包含先前创建的项模板和包模板。
从 Web 下载程序包后,您需要右键单击该文件,打开“属性”对话框,然后单击“取消阻止”按钮以从该文件删除“Web 的标记”。 验证其哈希值是否与托管环境提供的哈希值相符。...将程序包的内容解压缩到解决方案中的特定位置。大多数开发人员会避免将程序集解压缩到 bin 目录,这是因为该目录用于生成输出而非输入,并且不在版本控制的跟踪范围之内。...这可能意味着您要使用 Bing 或 Google 进行更多搜索才能找到配置文件所需的正确设置。 真是很麻烦! 现在,假设您必须为 10 至 15 个依赖项执行这些操作。...当您的应用程序要发布新版本时,您需要花费大量时间为应用程序的依赖项搜索更新。...NuGet 产品同样随附能够轻松创建和发布程序包的实用工具。具体可以参照博客园的Dudu文章:程序员,用NuGet管理好你的包包。
现在,C# 程序员可以使用 .NET Core 在 Raspbian(Linux) 上构建 IoT 应用程序。只需要引入 System.Device.GPIO NuGet 包即可。 ...(不管是 3B 还是 3B+ ,Raspbian 的内核都为 32 位,部分 ASP.NET Core 常用的 NuGet 包并不支持 arm32) 打开菜单中的 Raspberry Pi 配置...打开 Visual Studio 的设置,在 NuGet 包管理器设置下,添加 .NET Core Lab 的程序包源:https://dotnet.myget.org/F/dotnet-corefxlab...打开 “工具”——“NuGet包管理器”——“程序包管理器控制台”,运行如下命令,以获取程序包。...使用 FTP 工具将生成的发布文件夹复制到 Raspberry Pi 上,这里使用的是 WinSCP 。 ?
在nuget文档结构约定中,包含了如下三个文件夹: lib:包含目标程序将要引用的dll文件。...content:将按照文档结构复制到应用程序根目录中的静态文件,但是如果文件中包含了扩展名是.pp或者transform,那么在将会转换目标文件。...tools:在解决方案或者项目中包含的一些powershell脚本,以及一些可以在Nuget package console中访问的应用程序。...而在添加这些文件夹的时候,可以通过右键点击文件夹,然后选择Add .NET Folder快速的添加不同版本名字缩写的文件夹,这是你使用命令行方式创建nuget包所享受不到的快捷的方式,很酷吧。...上文中提到过,党Content文件夹中包含了后缀名为.transform的文件时,nuget将会merge目标文件,比如示例中使用的就是一个ASP.NET MVC扩展的包,它可以提供给ASP.NET MVC
解决方法: 在将vs升级版本后基本会有这个问题。我是在将vs2012升级成2017的时候遇到的,然后把遇到的这些都给复制到类库中重新引用,或者将引用的属性【复制本地】改为True ?...,项目缺失引用的问题 若服务器未安装framework4.5,项目缺失引用的问题 解决方法: 安装对应的framework 同第一个问题,将dll的属性改为复制到本地即可 问题记录:vs2017...中安装还原Nuget包后,packages文件夹不存在 正常来讲,本应该在解决方案目录下面的packages,但是木有,但是可以在C:\Users\Administrator\.nuget\packages...中找到packages文件夹。...还原的包都在这里了 windows下的路径:C:\Users\Administrator\.nuget\packages
它执行下列任务: 添加有助于升级的分析器 确定要升级的项目以及升级顺序 将你的项目文件更新为 SDK 格式 将你的项目重新定位到 .NET 5 将 NuGet 包依赖项更新为与 .NET 5 兼容的版本...第三步是清理Nuget包的引用关系 ? 第四步是更新TFM,.NET 升级助手会将目标框架名称 (TFM) 更新为 .NET 5.0。在我的情况下,值从net472更改为net5.0。 ?...第五步是更新 NuGet 包,升级助手更新 TFM 后,它会尝试更新项目的 NuGet 包。该工具使用分析器来检测要删除的引用以及要使用.NET 5版本升级的软件包。然后,该工具更新包。 ?...第七步是迁移应用程序配置文件,现在升级助手已准备好迁移我们的应用程序配置文件。该工具确定支持哪些设置,然后将任何可配置的设置迁移到我的appSettings.json文件中。...例如,您可以将NuGet软件包显式映射到其替换版本,添加自定义模板文件并添加自定义升级步骤。 首先,您将包含一个ExtensionManifest.json文件,该文件定义工具在何处找到不同的扩展项。
-- 其他NuGet包 --> wwwroot 文件夹: 存放静态文件(如CSS、JavaScript、图像等),这些文件可以通过浏览器直接访问。...Models 文件夹: 存放应用程序的数据模型,通常代表数据库表或其他业务实体。 Views 文件夹: 包含应用程序的视图文件,这些文件用于生成HTML响应,通常与控制器相对应。...配置内容: 包括项目的目标框架、引用的NuGet包、编译选项等。 wwwroot 文件夹: 作用: 存放静态文件,这些文件可以通过浏览器直接访问。...四、配置文件 在ASP.NET Core中,配置文件是一种存储应用程序配置信息的方式,允许将应用程序配置从代码中分离出来,以便于修改和管理。...以下是一些常见的ASP.NET Core配置文件和相关概念: appsettings.json: 作用: 存储应用程序的配置信息,如数据库连接字符串、日志级别、API密钥等。
现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升 使用 CoreRT 发布的优点...dotnet core 的独立发布 50M 的大小会小很多 能在大多数的系统运行 提高很多启动性能 不足是软件不是非常稳定,同时只能支持x64的程序 使用这个项目是比较难的,本文下面提供的包的版本...源设置,在 VisualStudio 的工具->选项->nuget包管理器->nuget包源里面添加 myget 的使用,这个网站是微软的 CI 输出的,里面大量的库都是没有发布的,所以微软也无法保证这些库稳定...添加一个新的源,路径是 https://dotnet.myget.org/F/dotnet-core/api/v3/index.json 可以通过 dotnet new nuget 创建配置文件,在配置文件添加下面代码...更详细的博客请看 使用CoreRT将.NET Core发布为Native应用程序 - KAnts - 博客园 简析 .NET Core 构成体系 - 帅虫哥 - 博客园
领取专属 10元无门槛券
手把手带您无忧上云