我正在运行.net core 1.1和nuget 3.5。
这是我的nuspec:
<?xml version="1.0"?>
<package >
<metadata>
<id>ClassLibrary1</id>
<version>1.0.0.4</version>
<title>Class Library Test Content</title>
<authors>name</authors>
<owners>name</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>package to test config file transfer</description>
<copyright>Copyright 2017</copyright>
<tags>TagUno TagDos</tags>
<contentFiles>
<files include="appsettings.json" buildAction="Content" copyToOutput="true" />
</contentFiles>
</metadata>
<files>
<file src="bin\Debug\net462\classlibrary1.dll" target="lib\net462\classlibrary1.dll" />
<file src="appsettings.json" target="content\net462\appsettings.json" />
</files>
</package>
如我们所见,appsettings.json文件位于nuget包的content文件夹中。
但是,当我将软件包安装到项目中时,appsettings.json文件不会复制到项目根目录。
我想念什么?还是在.net core中以不同的方式进行?
该content
子目录仅用于packages.config
项目。
使用PackageReference
NuGet引用样式的项目将使用该contentFiles
部分代替,该部分允许指定要使用的生成操作。这些文件不会复制到项目中,而是作为项目中的项目包括在内,并且可以选择设置为复制到使用项目的生成输出中:
<package>
<metadata>
...
<contentFiles>
<files include="appsettings.json" buildAction="Content" copyToOutput="true" />
</contentFiles>
</metadata>
<files>...</files>
</package>
有关contentFiles
更多详细信息,请参见文档。
请注意,这些文件不会复制到项目中,但会以逻辑方式包含在内。packages.config
由于没有其他方法可以贡献文件,因此只有项目支持此操作-文档还指出这些文件无论如何都应该被认为是不可变的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句