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