使用该 nuget 包将 nuget 包内容文件.exe 类型复制到项目的输出目录

如何解决使用该 nuget 包将 nuget 包内容文件.exe 类型复制到项目的输出目录

我有一些项目,其中有一些 exe 作为“依赖项”,我将该项目构建为 .csproj 文件中的 nuget 包

文件看起来像这样:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <Nullable>enable</Nullable>
    <LangVersion>latest</LangVersion>
    <Version>1.1.2</Version>
    <PackageId>MyLib</PackageId>
    <Authors>me</Authors>
    <Company>me</Company>
  </PropertyGroup>

  <ItemGroup>
    <None Remove="CliInterface\32BitInterface.exe" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="CliInterface\32BitInterface.exe">
      <copyToOutputDirectory>Always</copyToOutputDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <packagereference Include="Microsoft.CodeAnalysis.FxcopAnalyzers" Version="3.3.0">
      <PrivateAssets>analyzers;build</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </packagereference>
  </ItemGroup>

</Project>

当我在其他解决方案中使用该 nuget 包时,我可以看到文件在那里

enter image description here

但是它不会复制到输出文件夹。 事实上,正确的是当我从 Build 运行 Visual Studio 项目时,但我在 dotnet build 环境中使用 CI/CD 命令并且当我运行该命令。

编辑: 我还注意到该 exe 的位置在 %USERPROFILE%.nuget 文件夹内 以及我的 csproj 文件(来自其他解决方案,引用该 nuget 包)具有硬编码路径,其中包含我的用户名。我不知道为什么会这样,但不喜欢那样

解决方法

相反,尝试使用这个

<PackageCopyToOutput>true</PackageCopyToOutput>

csproj 文件中添加这些:

<ItemGroup>
    <Content Include="CliInterface\32BitInterface.exe">
     <PackageCopyToOutput>true</PackageCopyToOutput>
    </Content>
 </ItemGroup>

然后然后重新打包您的 lib 项目。当您尝试安装此新发布版本时,请不要忘记 clean nuget caches first 或删除 C:\Users\xxx(current user)\.nuget\packages 下的缓存文件。

此外,这也是a similar issue about this

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?