NuGet 如何将属性应用于文件

2024-03-25

我正在创建 NuGet 包。我已经放入了两个文件content用户安装此软件包时将添加的文件夹、exe 和配置文件。

另外我想更改这两个文件的 VS 项目属性。

构建包时我需要做什么?


当您说“应用属性更改”时,您是指文件系统属性,例如上次修改时间、隐藏标志等?

如果是这样,您可以使用一组正在运行的 PowerShell 脚本(如果它们存在于您的包中)来执行此操作。当您构建包时它不会发生,但当有人安装包时它会运行 - 从用户的角度来看,这应该具有相同的效果。你可能想要Init.ps1 or Install.ps1.

From 在软件包安装和删除过程中自动运行 PowerShell 脚本 http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#Automatically_Running_PowerShell_Scripts_During_Package_Installation_and_Removal在 NuGet 文档中:

包可以包含 PowerShell 脚本,这些脚本会在以下情况下自动运行: 该软件包已安装或删除。 NuGet 自动运行脚本 基于使用以下约定的文件名:

  • Init.ps1 runs the first time a package is installed in a solution.
    • 如果相同的包安装到其他 解决方案中的项目,脚本在这些期间不会运行 装置。
    • 该脚本也会在每次解决方案出现时运行 打开。例如,如果安装包,请关闭 Visual Studio, 然后启动 Visual Studio 并打开解决方案,Init.ps1脚本再次运行。
  • Install.ps1 runs when a package is installed in a project.
    • 如果同一个包安装在一个解决方案的多个项目中, 每次安装软件包时都会运行该脚本。
    • 包的 content 或 lib 文件夹中必须有文件Install.ps1跑步。仅在工具文件夹中包含某些内容并不能启动此操作。
    • 如果您的包裹还有init.ps1, install.ps1追赶init.ps1.
  • Uninstall.ps1每次卸载软件包时都会运行。
  • 这些文件应位于包的工具目录中。
  • At the top of your file, add this line: param($installPath, $toolsPath, $package, $project)
    • $installPath是到的路径 安装包的文件夹
    • $toolsPath是到的路径 安装包的文件夹中的tools目录
    • $package是对包对象的引用。
    • $project是一个 对 EnvDTE 项目对象的引用并代表该项目 包安装到.注意:这将为空Init.ps1。在 该案例没有引用特定项目,因为它 在解决方案级别运行。该对象的属性已定义 在 MSDN 文档中。
  • 当你测试时$project在创建脚本时在控制台中,您可以将其设置为$project = Get-Project
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NuGet 如何将属性应用于文件 的相关文章

  • VSTS Build vNext NuGet 自定义包源

    我们有一份 Azure 企业协议 其中包含一个绑定了 VSTS 帐户的主订阅 我们设置了包管理扩展 以便为不同的项目托管一些有用的包 对于每个客户 我们在此 EA 中创建一个订阅并与其绑定一个 VSTS 帐户 我们在后一个订阅的托管构建代理
  • 适用于 asp.net core 的 ADOMD nuget 包

    我正在看ADOMD nuget 包 https www nuget org packages Microsoft AnalysisServices AdomdClient retail amd64 好像不支持ASP NET Core框架 如
  • 405 NuGet 推送中不允许使用方法

    当我尝试推送时 我的 NuGet 服务器抛出 405 不允许 至少 NuGet 控制台是这么说的 Failed to process request Method Not Allowed The remote server returned
  • Nuget Push 总是返回 404(未找到)

    我尝试将 nuget 包发布到我的 GitHub Packages 帐户 但在所有情况下我都会遇到 404 错误 我已按照 GitHub 网站上的要求进行操作 nuget source Add Name GitHub Source http
  • 如何从Nuget包中选择目标框架

    我正在使用 NuGet 包 其中包含 2 个目标框架的程序集 net45 和 netstandard1 5 我的项目针对的是net471 因此与netstandard1 5兼容 当我添加包时 它从 net45 文件夹复制 dll 如何强制
  • NuGet 更新和条件引用

    我们的 nupkg 包包含同一 dll 的多个版本 x86 x64 AnyCPU 并且在 csproj 文件中 在引用中 我使用条件引用根据当前平台集选择特定的 dll 因此 我对同一个库有多个引用 只是不同的平台编译 这是我的 cspro
  • 同一解决方案中的 NuGet 引用

    以前可能已经问过这个问题 如果是 请提供链接 我正在为我的公司开发一套 核心 解决方案 我们在此解决方案集中有几个不同的项目 每个项目在构建时都会变成一个 NuGet 包 以便在我们的其他解决方案项目中使用 我发现我想通过 NuGet 引用
  • 如何将自定义 nuget feed 添加到 TeamCity 构建?

    我使用 Teamcity 创建了一个 Nuget 服务器 在互联网上的虚拟机上运行 并创建了将包发布到其中的构建 我还有另一个项目需要使用该包 该项目也是基于 teamcity 构建的 在我本地的 Visual Studio 上 我添加了
  • nuget 创建两个包文件夹?

    OK 所以我最近重新安装了Windows 10并升级了vs2013 gt vs2015 此时我试图获取几个 nuget 包 我遇到的问题是 我有一个 nuget packages 文件夹 其级别与我的解决方案文件 通过 NuGet conf
  • 无法通过在 C# 中调用 powershell 安装 NuGet 提供程序

    我从下面的 C 方法调用 powershell cmdlet 它在 Install Module Name CosmosDb 行失败 并出现以下错误 使用 2 个参数调用 ShouldContinue 时出现异常 一个命令 提示用户失败 因
  • docs.microsoft.com 上的 .NET 平台扩展是什么?

    Microsoft Docs 中有一个框架级导航元素 称为 NET 平台扩展 https learn microsoft com en us dotnet api index view dotnet plat ext 2 1 它包含有关最近
  • ASP.NET Core 3:如何在自定义库中引用 3.0.0 程序集?

    我看到引用的应用程序Microsoft AspNetCore App框架 又称为 ASP NET Core 3 0 使用程序集中的类型Microsoft AspNetCore Mvc Abstractions Version 3 0 0 0
  • VS2015 nuget包管理器找不到包

    我安装了 VS2015 Update 2 现在 nuget 包管理器找不到 Microsoft 和 net 包源之外的任何包 看起来 nuget 包源已被删除 当我将其添加回 http www nuget org http www nuge
  • 如何在 Visual Studio 2015 中为多个解决方案和项目设置单个 Nuget 包文件夹

    我们正在 Visual Studio 2015 中开发多个解决方案 这些解决方案共享一些需要 nuget 包的核心项目 当从一个解决方案添加 nuget 包并随后由另一解决方案打开时 无法解析 nuget 引用 文件夹结构如下 Codeba
  • 如何在 MSBuild NuGet 包生成的 .nuspec 中注入自定义依赖项

    我正在尝试迁移到使用 MSBuildPack支持使用 csproj 生成项目 NuGet 包 其中在开发过程中使用本地 dll 来构建项目 但在使用 MSBuild 打包 项目时需要替换 交换它们以引用生成的 nuspec 中的外部 NuG
  • 如何从外部类库(通过 NuGet 包)引用 UserControl?

    是否可以在驻留在 UWP 类库中的 UWP 应用项目中引用和使用 UserControl 我尝试在类库中创建 UserControl 但是当我尝试在应用程序中使用它时 我得到 App1 exe 中发生 Windows UI Xaml Mar
  • 从 git 签出后 nuget dll 丢失

    I have a C solution containing different projects On those projects I have some normal nuget packages like Newtonsoft Js
  • 对同一解决方案/git 存储库中的项目的 PackageReference

    目前我正在尝试设置一个带有实现类库和抽象项目的解决方案 我想在 nuget org 上找到这两个包 通常 当您只使用 ProjectReferences 时 您只需指向 csproj 随机抽象
  • Encoding.RegisterProvider(CodePagesEncodingProvider.Instance) 不添加额外的编码提供程序

    我正在开发一个netcoreapp2 0控制台应用程序 我需要从 NET 访问整个编码包 我已经添加了System Text Encoding CodePages Version 4 4 0Nuget 包来自这一页 https www nu
  • 通过本地项目引用导入 NuGet 引用

    假设我有一个 主 C 项目 它使用 NuGet 来管理其第三方依赖项 现在假设我在主项目旁边创建一个单元测试项目 其中包含主项目作为参考 不幸的是 我似乎需要重新添加通过主项目中的 nuget 包含的依赖项 以便使用它们为单元测试项目中的单

随机推荐

  • PHP 中的 Switch-Case 和 If-Else 有什么区别?

    我正在决定是否使用if else vs switch case在我正在编写的一个 PHP 网站中 我想知道使用其中之一是否有任何好处 或者是否在某些情况下打算使用其中一种而不是另一种 有趣的问题 因为在编译语言 甚至是 JIT 语言 中 使
  • 使 'week' 函数为双周

    嗨 这一切应该是一个简单的问题 我只是似乎无法弄清楚 我想每两周分解一次该数据集 以便以两周为间隔查看年度周期 我不想总结或汇总数据 我想做的正是 周 函数正在做的事情 但每两周一次 下面是数据和代码的示例 任何帮助将不胜感激 DF lt
  • 棋盘坐标

    我正在尝试用 Java 创建一个国际象棋程序 现在 我已经将棋盘与现有的部件一起完成 我可以用鼠标通过拖放来移动它们 我需要的是向两侧的方块添加坐标 就像在真正的板上一样 不一定要有什么奇特的东西 只是一个视觉效果 由于我没有使用图形绘制板
  • 使用触发器将数据从 SQL Server 插入到 MySql

    我有两个数据库 一个在 SQL Server 中 另一个在 MySql 中 我想在 SQL Server 表中进行插入时将数据插入 MySQL 表中 是否可以在 SQL Server 中使用触发器 请给我一个答案 您可以从以下位置创建连接M
  • 可以触发流选择特定文件

    我的程序连续读取流hadoop文件夹 比如 hadoopPath 它从上面的文件夹中选取所有文件 我可以只显示该文件夹的特定文件类型吗 例如 hadoopPath log 我还有一个与 Spark 和流媒体相关的问题 Spark Strea
  • 在 Kinect 示例中用 Google Earth 地球仪替换可平移的世界地图图像

    我需要有关如何使用 Kinect 手势而不是使用鼠标 键盘导航来控制 Google 地球的基本指导 我已经运行了 Kinect Developer 工具包示例 并且有一个名为 C 的交互式画廊 允许平移世界地图 它是静态图像 这是其文档的链
  • Firebase函数-查询firestore

    我试图从云函数中的 firestore 检索一些数据 但什么也没有得到 客户端上的相同查询给出了正确的结果 这可能是小事 但我没有看到问题 我究竟做错了什么 const functions require firebase function
  • 使用范围,如何将 .COPY DESTINATION 粘贴为值

    我有以下代码 可以很好地将整个单元格复制到新的目的地 Dim ws As Worksheet rng As Range Set ws Sheets Duplicates Set rng ws Range A2 rng Copy Destin
  • 在 Get-ADUser 筛选器参数中传递字符串会导致错误 - 在 pscustomobject 中找不到属性

    我正在尝试创建一个新的 Active Directory 用户 但首先我验证该用户不存在Get ADUser 我从人力资源部门导入用户数据并构建自定义属性 newUsers Import Csv csvFile Select Object
  • 如何查看 int 数组中的元素是否为空?

    example 我想看看是否array 5 保存一个值或者为空 原始数组中的元素不能为空 它们总是会被初始化为某些东西 通常是0 for int数组 但取决于您如何声明数组 如果您像这样声明数组 例如 int myArray myArray
  • 以编程方式执行 spring roo

    我查看了 spring roo 我发现我们可以使用命令提示符生成实体 控制器和其他实体 但我需要从文本框中获取实体名称和字段名称作为用户输入 然后使用 roo 生成项目 我正在使用Windows 您可以创建脚本文件 然后使用 roo 执行该
  • Internet Explorer 和 jQuery 的“权限被拒绝”

    我尝试使用 jQuery 进行 AJAX 调用 post在 Internet Explorer 中 但我得到的只是一条错误消息 权限被拒绝 这个问题有点奇怪 因为只有当我在访问任何其他页面之后访问一个页面时才会出现这种情况 例如 我在地址行
  • 无法使用 firebase 函数获取 req.path 和 req.query.abc

    我正在尝试获取请求查询参数和网址firebase functions 这是我正在使用的代码 firebase json hosting public build rewrites source getCoins function getCo
  • Java - 如何测试 Catch 块?

    有点转发 但是关于没有足够声誉的第 22 条军规意味着我无法对任何重复的线程发表评论 咳嗽 我正在尝试使用 Mockito 测试 try catch 的 catch 块 是否可以使模拟抛出由正在测试的方法处理的异常 我无法使用 doThro
  • 为什么 return 不遵守finally 块中变量的值?

    finally总是最后执行 所以语句x 3应该最后执行 但是 运行此代码时 返回的值为 2 Why class Test public static void main String args System out println fina
  • 使用 AVPlayer 进行串流速度很慢

    我使用 AVPlayer 从互联网上传输 mp3 文件 但它的运行速度非常慢 使用探查器 我发现它首先下载整个文件 然后开始播放 有什么解决方法吗 现在 我正在使用这段代码 if let player player Notification
  • 使用预先签名的 URL 将文件放入 S3

    我整夜都在使用 Amazon S3 预签名 URL 来尝试 PUT 文件 我在 java 代码中生成预签名 URL AWSCredentials credentials new BasicAWSCredentials accessKey s
  • iPhone : 自定义标签栏,没有可怕的“更多”菜单

    所以我想构建一个具有超过 5 个项目并且可滚动的选项卡栏并找到本文 http www rumex it 2010 11 how to customise the tab bar uitabbar in an iphone applicati
  • “OpenCV”被视为未找到

    Linux 风格 Debian Crunch Bang 出现问题 尝试使用以下命令构建 cvblob 时 cd cvblob cmake Error CMake Error at cvBlob CMakeLists txt 20 find
  • NuGet 如何将属性应用于文件

    我正在创建 NuGet 包 我已经放入了两个文件content用户安装此软件包时将添加的文件夹 exe 和配置文件 另外我想更改这两个文件的 VS 项目属性 构建包时我需要做什么 当您说 应用属性更改 时 您是指文件系统属性 例如上次修改时