簡體   English   中英

NuGet中的依賴DLL未復制到客戶端的輸出目錄

[英]Dependent DLL in NuGet not copied to output directory of client

我有一個打包在NuGet包中的C#項目。 該項目依賴於外部非托管dll,如果我在本地構建解決方案,則可以將其復制到輸出中。 我已經設法將dll打包在NuGet包中,並將其放入客戶端項目中,但“復制到輸出目錄”始終設置為“不復制”。

我不使用.nuspec文件,因為我切換到了新的.csproj格式。

到目前為止,這是我的.csproj外觀:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

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

  <PropertyGroup>
    <TargetFramework>net462</TargetFramework>
    <PackageId>External.Dll.Wrapper</PackageId>
    <Authors>Me</Authors>
    <Version>1.0.0</Version>
    <Company>None</Company>
    <Owners>Me</Owners>
    <Copyright>Copyright © 2018</Copyright>
    <Description>Wrapper for using external dll</Description>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <PlatformTarget>AnyCPU</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <None Include="external.dll">
      <Pack>true</Pack>
      <CopyToOutput>true</CopyToOutput>
      <PackageCopyToOutput>true</PackageCopyToOutput>
      <PackageFlatten>false</PackageFlatten>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>

也許有人可以告訴我我在做什么錯。 我已經花了整整一天的時間試圖解決這個問題,但是沒有運氣。 非常感謝!

如果您沒有直接從該dll引用任何內容,則不會被復制。 如果將偽聲明放置在某個地方(甚至不必使用),則應將其復制過來。

externaldll.someclass mythingamajig

如果這樣不起作用,請檢查依賴項的相對路徑。 右鍵單擊Dependencies->Add reference->Browse->然后選擇dll文件並將其添加。 您可能必須手動添加該dll才能在其中顯示它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM