【问题标题】:init.ps1 is not executing (nuget package)init.ps1 未执行(nuget 包)
【发布时间】:2018-06-10 04:30:59
【问题描述】:

我的 nuget 包项目的结构如下(非常简单):

- lib
 MyCom.dll
- tools
 Init.ps1

初始化ps1的内容:

param($installPath, $toolsPath, $package, $project)

$project.Object.References | Where-Object { $_.Name -eq "MyCom" } |  ForEach-Object { $_.EmbedInteropTypes = $false }

Nuget 规范:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>***</id>
    <version>***</version>
    <title>***</title>
    <authors>***</authors>
    <owners>***</owners>
    <licenseUrl>***</licenseUrl>
    <projectUrl>***</projectUrl>
    <iconUrl>***</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>***</description>
    <releaseNotes>***</releaseNotes>
    <copyright>Copyright 2018</copyright>
    <tags>***</tags>
    <references>
      <reference file="MyCom.dll" />
    </references>
  </metadata>
  <files>
    <file src="lib\MyCom.dll" target="lib" />
  </files>
</package>

我不知道为什么 init 没有将 myCom.dll 嵌入互操作设置为 false。 如果我使用 Install.ps1,也会发生同样的事情。

我正在使用 VS 2015。

【问题讨论】:

    标签: nuget-package nuget-spec


    【解决方案1】:

    只需将init powershell脚本添加到files标签即可。

     <files>
        <file src="tools\Init.ps1" target="tools\Init.ps1" />
     <-- more files here !-->
    </files>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2023-03-31
      • 2018-08-11
      • 1970-01-01
      • 2020-01-29
      相关资源
      最近更新 更多