有没有办法创建一个 NuGet 包,当该包安装到项目中时,它会添加对 dll 的引用,并将“本地复制”设置为 false?
我假设它是“install.ps1”文件中的某种脚本。
最佳答案
是的,正如您所猜测的,您可以使用 install.ps1 执行此操作。
这是一个示例 install.ps1,它会在您每次运行 System.dll 时翻转 System.dll 上的标志。使用此示例,您应该能够了解如何做您想做的事:
param($installPath, $toolsPath, $package, $project)
foreach ($reference in $project.Object.References)
{
if($reference.Name -eq "System")
{
if($reference.CopyLocal -eq $true)
{
$reference.CopyLocal = $false;
}
else
{
$reference.CopyLocal = $true;
}
}
}
但是这个 MSDN 文档应该会有所帮助。
Object
Hanselman 使用解析到 VSProject Interface. $project
变量 NuGet 为您提供对 Project Interface. 的解析关于nuget - 创建 NuGet 包,用于安装将 Copy Local 设置为 false 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105286/