0
我使用下列* .targets文件中添加生成操作的NuGet添加非託管文件
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)\libeay32.dll">
<Link>libeay32.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\COMAssinaDocs.dll">
<Link>COMAssinaDocs.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\InterOps.ComAssinaDocs.dll">
<Link>InterOps.ComAssinaDocs.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\ssleay32.dll">
<Link>ssleay32.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
,這是nuspec:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>xxx.Providers.SignDocs</id>
</metadata>
<files>
<file src="bin\Release\xxx.Providers.SignDocs.targets" target="build" />
<file src="bin\Release\xxx.Providers.SignDocs.dll" target="lib\net45" />
<file src="bin\Release\xxx.Providers.SignDocs.Impl.dll" target="lib\net45" />
</files>
</package>
而且我用這塊的NuGet的文檔構建這個包:
Including MSBuild props and targets in a package
基本上我想要的是得到一些聯合國託管的dll複製到項目的輸出文件夾使用該軟件包,甚至我按照說明目標項目文件目標setion iss不添加,因此文件不復制到輸出目錄。我錯過了什麼?
UPDATE
能得到它的工作使用的配置波紋管。
xxx.Providers.SignDocs.targets
<None Include="$(MSBuildThisFileDirectory)\libeay32.dll">
<Link>libeay32.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\COMAssinaDocs.dll">
<Link>COMAssinaDocs.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\InterOps.ComAssinaDocs.dll">
<Link>InterOps.ComAssinaDocs.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\ssleay32.dll">
<Link>ssleay32.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>xxx.Providers.SignDocs</id>
</metadata>
<files>
<file src="..\..\tools\libeay32.dll" target="build" />
<file src="..\..\tools\COMAssinaDocs.dll" target="build" />
<file src="..\..\tools\InterOps.ComAssinaDocs.dll" target="build" />
<file src="..\..\tools\ssleay32.dll" target="build" />
<file src="bin\Release\xxx.Providers.SignDocs.targets" target="build" />
<file src="bin\Release\xxx.Providers.SignDocs.dll" target="lib\net45" />
<file src="bin\Release\xxx.Providers.SignDocs.Impl.dll" target="lib\net45" />
</files>
</package>
我試過這個,但它不起作用 謝謝 –
Marco
目標文件是否位於bin \ Release文件夾中? –
是的。我確定我錯過了一些東西,但我看不到它是什麼。 – Marco