gpt4 book ai didi

.net - VS2017在nuget包中设置 'Build Action'为 'Content'

转载 作者:行者123 更新时间:2023-12-05 06:37:49 26 4
gpt4 key购买 nike

我使用以下命令行在 gitlab 中创建我的 nuget 包。

nuget pack -Prop Configuration=Release -OutputDirectory nuget %REPONAME%\%APPNAME%\%APPNAME%.csproj

如果我将 Build Action 声明为 Content 并将 Copy To Output Directory 声明为 Always,则不会应用在 nuget 包中或者更确切地说是在我安装它时。

我对这里的答案有点困惑: Set content files to "copy local : always" in a nuget package

我没有 *.nuspec 文件。它由上面的命令自动生成。


  1. 我在 tools/*
  2. 的解决方案中声明了一个 Install.ps1 文件
  3. 我想自动将带有 Install.ps1 脚本的 tools 文件夹包含到 nuget 包中,该脚本在安装时调用

安装.ps1脚本

param($installPath, $toolsPath, $package, $project)

$configItem = $project.ProjectItems.Item("snap7.dll")

# set 'Copy To Output Directory' to 'Always'
# 0 = Never
# 1 = Always
# 2 = PreserveNewestFile
$copyToOutput = $configItem.Properties.Item("CopyToOutputDirectory")
$copyToOutput.Value = 1

# set 'Build Action' to 'Content'
# 0 = None
# 1 = Compile
# 2 = Content
# 3 = EmbeddedResource
$buildAction = $configItem.Properties.Item("BuildAction")
$buildAction.Value = 2

最佳答案

您需要将您的 install.ps1 文件添加到您的 nuget 包中。

使用您在原始帖子中提供的 nuget pack 命令后,它将在 nuget 文件夹中生成一个包。

然后请用NuGet Package Explorer打开这个包并通过 NuGet Package Explorer 菜单中的 CONTENT -> Add -> Tools Folder 添加一个 tools 文件夹。然后将您的 install.ps1 文件添加到工具文件夹中。

现在当包安装到一个项目中时,它会调用 install.ps1 文件来设置文件的 Copy To Output Directory 属性为 Copy Always。

关于.net - VS2017在nuget包中设置 'Build Action'为 'Content',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47075041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com