PackageReference样式包将文件复制到解决方案中

时间:2017-11-30 14:30:53

标签: nuget

对于旧的解决方案级别packages.config,我有一个init.ps1脚本,可以将tools目录中的某些文件复制到解决方案的根目录中:

param($installPath, $toolsPath, $package)

$rootDir = (Get-Item $installPath).parent.parent.fullname

$filesSource = join-path $installPath 'tools'

Copy-Item "$filesSource/build.cake" $rootDir -Force
Copy-Item "$filesSource/build.ps1" $rootDir -Force

nuspec很简单:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
    <metadata>
        ... the standard properties ...
    </metadata>
    <files>
        <file src="build.cake" target="tools\build.cake" />
        <file src="build.ps1" target="tools\build.ps1" />
        <file src="nuget\init.ps1" target="tools\init.ps1" />
    </files>
</package>

转到PackageReference NuGet 3.0样式,安装路径作为系统级包区域(c:\ users \ me \ .nuget \ packages)出现。这意味着脚本的行为方式不同。

该软件包的目标是将我们的公共构建脚本(使用Cake)内部分发到我们的标准项目结构中。这使我们可以进行常规更改,并通过我们项目中的NuGet更新来消费它们。

我无法在网上找到关于如何复制此类行为的内容,只是功能仍在开发中,并且有不同的方法可以解决旧问题。

首先,这可能吗?其次,如果是这样,怎么样?

从好的方面来说,这可能是编写自定义dotnet工具的借口。

0 个答案:

没有答案