Clickonce不会发布Nuget包

时间:2017-09-13 08:08:43

标签: nuget vsto clickonce

设置:
 1. VS2017,创建Excel 2013 VSTO加载项目
 2. Nuget安装:Snappy.NET
 3.右键单击=>发布  4.检查发布文件夹,没有Snappy.NET.dll

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

我找到的唯一解决方案是通过packages.config文件安装软件包,而不是像项目资源一样。

要尝试,请从项目中卸载所有Nuget pakages,保存,退出并重新打开解决方案。

检查第一个软件包安装时的"允许格式选择"工具上的选项 - >选项 - > Nuget Pakage Manager - >一般

重新安装软件包。 当Visual Studio询问要使用的配置时选择package.config文件

答案 1 :(得分:0)

您可以修改构建过程,以具有将NuGet软件包中所有文件的发布状态设置为Include而不是Prerequisite的目标。只需将以下内容添加到您的csproj。

<Target Name="IncludePackageReferencedFiles" BeforeTargets="_DeploymentComputeClickOnceManifestInfo">
    <Message Text="Including files from NuGet packages for ClickOnce publishing" />
    <ItemGroup>
      <PublishFile
          Include="@(ReferencePath->'%(FileName)')"
          Condition=" '%(ReferencePath.NuGetSourceType)' == 'Package' and '%(ReferencePath.NuGetIsFrameworkReference)' != 'true'"
          KeepMetadata="None">
        <PublishState>Include</PublishState>
        <FileType>Assembly</FileType>
      </PublishFile>
    </ItemGroup>
</Target>

我找到了here