【问题标题】:Missing static file from nuget package on install安装时 nuget 包中缺少静态文件
【发布时间】:2021-09-08 00:59:30
【问题描述】:

我正在尝试在我的 nuget 包中包含一个全局配置文件。这是我目前所拥有的:

在我的 csproj 中,我有以下内容:

 <ItemGroup>
      <Content Include="appsettings.infrastructure.json">
          <Pack>true</Pack>
          <PackagePath>contentFiles;content</PackagePath>
          <IncludeInPackage>true</IncludeInPackage>
          <CopyToOutput>true</CopyToOutput>
          <BuildAction>Content</BuildAction>
          <copyToOutput>true</copyToOutput>
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToPublishDirectory>Always</CopyToPublishDirectory>
      </Content>
  </ItemGroup>

如果我在本地发布包并解压缩,我可以看到该文件存在于 contentFile 文件夹下。

在项目中安装 nuget 包后出现问题。如果我检查 bin/debug/netcoreapp3.1 我希望在那里看到 appsettings.infrastructure.json 但它不在那里。

我也尝试在项目文件夹中进行文件系统搜索,但似乎没有任何 appsettings.infrastructure.json 文件保存在任何地方。

有谁知道我可以做些什么来从 nuget 包中获取 bin/Debug/netcoreapp3.1 中的这个文件?

【问题讨论】:

  • &lt;Content Include="appsettings.infrastructure.json" CopyToPublishDirectory="Always" CopyToOutputDirectory="Always"&gt; 应该覆盖整个包含

标签: .net-core nuget nuget-package


【解决方案1】:

最后我能够使用以下配置实现我所需要的:

  <ItemGroup>
      <None Update="appsettings.infrastructure.json" 
            Pack="true" 
            PackagePath="contentFiles\any\any;content">
          <PackageCopyToOutput>true</PackageCopyToOutput>
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToPublishDirectory>Always</CopyToPublishDirectory>
      </None>
  </ItemGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 2020-10-27
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多