我使用以下命令在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文件,它是通过上述命令自动生成的。以下是需要翻译的内容:
- 我在解决方案中声明了一个Install.ps1文件,位于
tools/*
- 我想要自动将
tools
文件夹与Install.ps1脚本一起包含在nuget包中,以便在安装时调用该脚本
Install.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
的包,当我安装它时它可以正常工作:https://1drv.ms/u/s!Ai1sp_yvodHfe8hmU7Duo9pCh5U - Leo Liuinstall.ps1
,这在您之前的问题中并未提及(如果我将构建操作声明为内容,并将复制到输出目录设置为始终,则不会应用于 nuget 包或安装时)。因此,您可以更新您的问题并在此分享您的解决方案,以帮助其他遇到相同问题的社区成员。谢谢。 - Leo Liu