Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NLog.config文件未复制到Nuget包_C#_Visual Studio 2012_Nuget_Nuget Package - Fatal编程技术网

C# NLog.config文件未复制到Nuget包

C# NLog.config文件未复制到Nuget包,c#,visual-studio-2012,nuget,nuget-package,C#,Visual Studio 2012,Nuget,Nuget Package,我一直在努力创建一个Nuget包,将我的Logger项目和NLog包含在包中。 dll和依赖项设置正确,在我的计算机上安装良好,但NLog.config文件未复制到lib文件夹。我有下面的nuspec文件。如果我手动将NLog.config文件移动到\bin\Debug文件夹中,则效果良好 如何使用nuspec文件将其复制到该位置。我还尝试将目标设置为“content”文件夹,将其复制到根文件夹,但也不起作用。请让我知道,因为我已经努力了几个小时,使这一权利。谢谢你的帮助,谢谢 <?xml

我一直在努力创建一个Nuget包,将我的Logger项目和NLog包含在包中。 dll和依赖项设置正确,在我的计算机上安装良好,但NLog.config文件未复制到lib文件夹。我有下面的nuspec文件。如果我手动将NLog.config文件移动到\bin\Debug文件夹中,则效果良好

如何使用nuspec文件将其复制到该位置。我还尝试将目标设置为“content”文件夹,将其复制到根文件夹,但也不起作用。请让我知道,因为我已经努力了几个小时,使这一权利。谢谢你的帮助,谢谢

<?xml version="1.0"?>
<package >
 <metadata>
   <id>Packager</id>
    <version>1.0.0</version>
    <title>EYPackager</title>
    <authors>rmifss</authors>
    <owners></owners>
    <description>
    </description>
    <releaseNotes>
    </releaseNotes>
    <summary>
    </summary>
   <language>en-US</language>
   <projectUrl>https://nuget.org/packages/Packager</projectUrl>
   <iconUrl>https://nuget.org/Content/Images/packageDefaultIcon-   
   50x50.png</iconUrl>
   <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <licenseUrl>http://opensource.org/licenses/Apache-2.0</licenseUrl>
    <copyright>Copyright  2014</copyright>
   <dependencies>
     <dependency id="NLog" version="2.1.0" />
   </dependencies>
   <references></references>
   <tags></tags>
  </metadata>
  <files>
    <file src="..\PanaceaLogging\bin\Debug\Panacea.dll" target="lib" />
    <file src="..\PanaceaLogging\bin\Debug\NLog.config" target="lib" />
    <file src="lib\" target="lib" />
    <file src="tools\" target="tools" />
    <file src="content\" target="content" />
  </files>
 </package>

包装工
1.0.0
EYPackager
rmifss
恩美
https://nuget.org/packages/Packager
https://nuget.org/Content/Images/packageDefaultIcon-   
50x50.png
假的
http://opensource.org/licenses/Apache-2.0
版权所有2014

在解决方案资源管理器中,找到您的配置文件。 然后右键单击->属性
在属性资源管理器中,找到“在输出目录中复制”单元格,然后选择“始终复制”。它会完成任务。

好的,我想昨晚一定是深夜,为了把它放到bin\debug文件夹,我所要做的就是将目标更改为“content\bin\debug”。一旦我改变了,Nuget软件包就把它安装到了那个位置。希望这对其他人也有帮助。

Hi artagis我实际上已经检查过了,NLog.config文件的copy to output directory选项设置为“copy always”。这就是为什么当我将目标设置为“content”时,包会正确地将文件放在根文件夹中,但记录器似乎不会从那里读取它。似乎只有当我手动将其复制到| bin\Debug文件夹时,它才会工作并从文件中读取。这就是为什么我将配置文件的目标设置为“lib”,但在安装包时没有将其安装在那里。NuGet用于构建时依赖项,特别是用于运行时依赖项。我发现了您的问题,因为我在将.config文件放入bin文件夹时遇到了类似的问题。您的解决方案是将配置文件放入bin\debug。但是,如果用户在发布配置中构建呢?