如何在包中包含引用的程序集?

时间:2014-04-28 12:46:43

标签: c# .net nuget assemblies

我有一个项目(A.csproj),它引用了一个不属于.NET框架的程序集(B.DLL)。

使用nuget pack a.csproj打包项目有效地构建了包,但是在测试包时它不包含B.DLL,显然它不会被添加为参考。

我尝试使用nuget spec,但在生成的nuspec文件中找不到与该引用相关的内容。

我也试过使用Create New NuGet Package From Project After Each Build 1.7.3包,但没有帮助。

在NuGet包中包含和引用程序集所需的步骤是什么?

2 个答案:

答案 0 :(得分:3)

如果您需要对NuGet包的布局和内容进行细粒度控制,那么您应该创建一个nuspec文件并使用它来创建包。然后,您可以使用以下语法添加文件,例如:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
   <metadata schemaVersion="2">
     ...
   </metadata>
   <files>
     <file src="Foo.dll" target="lib\net45" />
     ...
   </files>
</package>

答案 1 :(得分:0)

您是否尝试过在 nuget pack 语句中使用 -IncludeReferencedProjects 属性?