我想在“copy local = false”模式下在我的包中引用 dll。换句话说,我不希望我的软件包附带的 dll 在构建后被复制到输出目录中。
在“packages.config”场景中可以通过在 tools/install.ps1 文件中添加以下脚本来完成此操作。
param($installPath, $toolsPath, $package, $project)
$asms = $package.AssemblyReferences | %{$_.Name}
foreach ($reference in $project.Object.References)
{
if ($asms -contains $reference.Name + ".dll")
{
$reference.CopyLocal = $false;
}
}
我知道具有 PackageReference 功能的最新 Nuget 版本仅使用 init.ps1 脚本。但是我不知道我应该在那个脚本中写什么。
我也知道包用户可以添加...
<ExcludeAssets>Runtime</ExcludeAssets>
实现这一目标。但作为包作者,我真的很想强制执行这种行为。那么是否可以在脚本中添加它?