【发布时间】:2018-03-15 02:08:27
【问题描述】:
我正在为我的团队设置一个 NuGet 包,以便在内部用于我们所有的项目。它包含用于为引用该包的任何项目配置 NLog 记录器的代码。但是,我们的自定义 NLog.config 文件没有显示在最终构建中,但 NuGet 包中包含的所有其他文件都在那里。
这是我的 nuspec 文件:
<?xml version="1.0"?>
<package >
<metadata>
...
</metadata>
<files>
<file src="bin\Release\*.*" target="lib\net45" />
</files>
</package>
我尝试将它添加到文件中,但它是多余的,并且没有任何改变:
<file src="bin\Release\NLog.config" target="lib\net45" />
由于我们包含了所有带有 *.* 的文件,它们都显示在 lib/net45 文件夹中的 .nupkg 文件中。所有 .dll、.xmls 和 .configs 都在 nupkg 中,包括 NLog.config。所以我需要的文件可以很好地放入包中。
当我将此 NuGet 包包含在项目中并查看构建输出时,就会出现问题。应用程序的构建输出包含我需要的 nupkg 中的所有内容,但 NLog.config 除外。甚至包括 Utilities.dll.config。
是否需要在 nuspec 文件中指定一些内容?还是在 Visual Studio 项目中如 MSBuild 设置?如何确保将 NuGet 包中包含的所有文件复制到应用程序的构建输出?
【问题讨论】:
标签: c# .net msbuild nuget nlog