Visual studio 2017 VS2017 nuget包文件被视为链接而不是实际文件
我正在尝试使用csproj文件创建一个nuget。我的文件被复制,但当nuget包被另一个项目导入时,我的log4net.config(和其他)被视为链接。这些文件也不会在生成时复制到目标目录。(请参见下面屏幕截图中的蓝色图标) 我的cs项目包含以下代码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
<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。。它[仅]在修改构建操作等时添加到项目中。