我为互操作库创建了一个nuget包。使用此软件包时,Nuget会自动将“嵌入互操作类型”设置为“True”。但是,在我的项目中,这应该是“假的”。在Nuget中有没有办法说明互操作类型是否不被嵌入?
答案 0 :(得分:1)
我知道这是一个很老的问题,但如果有人遇到这个问题,请按照以下步骤操作:
在创建 NuGet 包时,添加一个工具文件夹并添加一个名为:install.ps1
在定义项目要求的 PowerShell 命令下面写下,就我而言,我必须为 SapROTWr 库添加 EmbedInteropTypes: false。
param($installPath, $toolsPath, $package, $project)
$project.Object.References | Where-Object { $_.Name -eq "Interop.SapROTWr" } | ForEach-Object { $_.EmbedInteropTypes = $false }
现在将该包添加到您的项目中并检查属性。