Nuget不会根据条件在输出文件夹中复制exe

问题描述

我正在尝试创建一个 nuget,它将在输出文件夹中复制 dll、exe。如果平台是 x64,它必须复制所有文件,但如果我们在任何其他平台,则排除 .exe。

所以我有一个像这样的 nuspec :

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <Metadata>
    <dependencies>
      <group targetFramework="net452" />
      <group targetFramework="net35" />
      <group targetFramework="net40" />
      <group targetFramework="net5.0.2" />
      <group targetFramework="netcoreapp3.1.11" />
    </dependencies>
  </Metadata>
  <files>
    <file src="lib\**" exclude="**\VintasoftTwainService.exe" target="lib" />
    <file src="lib\**\VintasoftTwainService.exe" target="Build" />
    <file src="Septeo.ThirdParty.VintaSoft.targets" target="Build"/>
  </files>
</package>

还有一个这样的目标:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup Condition="'$(Platform)'=='x64' AND '$(TargetFramework)' == 'net5.0.2'">
        <Content Include="$(MSBuildThisFileDirectory)net5.0.2\**">
            <Link>x64\VintasoftTwainService.exe</Link>
            <copyToOutputDirectory>PreserveNewest</copyToOutputDirectory>
        </Content>
    </ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='x64' AND '$(TargetFramework)' == 'net35'">
        <Content Include="$(MSBuildThisFileDirectory)net35\**">
            <Link>x64\VintasoftTwainService.exe</Link>
            <copyToOutputDirectory>PreserveNewest</copyToOutputDirectory>
        </Content>
    </ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='x64' AND '$(TargetFramework)' == 'net40'">
        <Content Include="$(MSBuildThisFileDirectory)net40\**">
            <Link>x64\VintasoftTwainService.exe</Link>
            <copyToOutputDirectory>PreserveNewest</copyToOutputDirectory>
        </Content>
    </ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='x64' AND '$(TargetFramework)' == 'net452'">
        <Content Include="$(MSBuildThisFileDirectory)net452\**">
            <Link>x64\VintasoftTwainService.exe</Link>
            <copyToOutputDirectory>PreserveNewest</copyToOutputDirectory>
        </Content>
    </ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='x64' AND '$(TargetFramework)' == 'netcoreapp3.1.11'">
        <Content Include="$(MSBuildThisFileDirectory)netcoreapp3.1.11\**">
            <Link>x64\VintasoftTwainService.exe</Link>
            <copyToOutputDirectory>PreserveNewest</copyToOutputDirectory>
        </Content>
    </ItemGroup>
</Project>

但是当我在 x64 中构建它时,无论我做什么,我都没有 .exe,我不明白为什么。 请帮帮我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)