有没有一种创建NuGet程序包的方法,当该程序包安装到项目中时,它将添加对dll的引用,且“ Copy Local”设置为false?
我认为这是“ install.ps1”文件中的某种脚本。
最佳答案
是的,您可以通过install.ps1来完成此操作。
这是一个示例install.ps1,它将在每次运行时翻转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/