Visual studio 2017 VS2017 nuget包文件被视为链接而不是实际文件

Visual studio 2017 VS2017 nuget包文件被视为链接而不是实际文件,visual-studio-2017,nuget,nuget-package,Visual Studio 2017,Nuget,Nuget Package,我正在尝试使用csproj文件创建一个nuget。我的文件被复制,但当nuget包被另一个项目导入时,我的log4net.config(和其他)被视为链接。这些文件也不会在生成时复制到目标目录。(请参见下面屏幕截图中的蓝色图标) 我的cs项目包含以下代码 <ItemGroup> <Content Include="contentFiles/**/*.*;log4net.config" copyToOutput="true"> <IncludeInPac

我正在尝试使用csproj文件创建一个nuget。我的文件被复制,但当nuget包被另一个项目导入时,我的log4net.config(和其他)被视为链接。这些文件也不会在生成时复制到目标目录。(请参见下面屏幕截图中的蓝色图标)

我的cs项目包含以下代码

<ItemGroup>
  <Content Include="contentFiles/**/*.*;log4net.config" copyToOutput="true">
    <IncludeInPackage>true</IncludeInPackage>
    <CopyToOutput>true</CopyToOutput>
    <BuildAction>Content</BuildAction>
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Content>
</ItemGroup>

真的
真的
内容
总是
我需要做什么才能使log4net.config:

1-未被视为链接文件

2-默认情况下复制到EXPUTT目录

我需要做什么才能使log4net.config:1-不被视为链接文件

这是故意的<代码>内容文件应作为链接添加。不支持将文件复制到项目的源目录中,对于经典项目,不鼓励这样做

检查马丁的回答:

这是故意的NuGet软件包不再应该修改项目的源代码,而只应该添加到其生成输出或生成过程中(除了.NET库)。用于向项目添加源代码的内容文件夹仅在基于packages.config的项目中继续受支持,因为这将是对现有项目的突破性更改,但是使用project.json或PackageReference(VS 2017)的项目得到了新的行为

现在,
contentFiles
部分控制在
obj\projectname.csproj.nuget.g.props
文件中为这些文件生成的msbuild项

2-默认情况下复制到EXPUTT目录

您可以为.nuspec文件中的
log4net.config
设置
copyToOutput=“true”

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
  <metadata>
    <id>xxxx</id>
    <version>1.0.0</version>
    <authors>Tester</authors>
    <owners>Tester</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Package Description</description>
    <contentFiles>
      <files include="any/any/Views/log4net.config" buildAction="content" flatten="true" copyToOutput="true"/>
  </metadata>

    <files>
      <file src="contentFiles/any/any/log4net.config" target="contentFiles/any/any/log4net.config" />
    </files>

xxxx
1.0.0

更多详情。

如何修复添加到项目文件中的“错误相对链接”?VS2019<代码>
Ahh。。它[仅]在修改构建操作等时添加到项目中。