【发布时间】:2020-03-19 19:51:11
【问题描述】:
我正在尝试在我的项目中引用一些来自 nuget 包的 javascript 文件。所以我将这些文件添加为内容链接参考。
<Content Include="$(NuGetPath_jQuery)\Content\Scripts\**\*.*">
<Link>Scripts\%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
但是我可以 F5 调试 web 项目,我需要这些文件成为项目文件夹结构的一部分。我还在 ScriptBundle 中使用这些文件,因此需要存在物理目录结构以进行本地调试。结果,我最终添加了以下构建 ttask,它根据 Matt Perdeck's blog 复制内容链接文件,这在许多其他围绕内容链接的线程中被引用,如下所示。
<Target Name="CopyLinkedContentFiles" BeforeTargets="Build">
<Copy SourceFiles="%(Content.Identity)"
DestinationFiles="%(Content.Link)"
SkipUnchangedFiles='true'
OverwriteReadOnlyFiles='true'
Condition="'%(Content.Link)' != ''" />
</Target>
现在 VS 在 F5 调试时很开心。但是在下次加载项目时抱怨由于文件已经存在而无法添加内容链接。在以前的版本中复制了这些内容。我是否缺少一些秘诀来告诉 VS 忽略这些警告?我注意到 msbuild 不会发出任何此类警告。只有VS在抱怨。我看到如下警告:
警告无法将文件“C:\Users\pkorhale.nuget\packages\jquery\3.3.1\Content\Scripts\jquery-3.3.1.slim.min.js”添加到项目中.无法添加指向文件 jquery-3.3.1.slim.min.js 的链接。此文件夹中已有同名文件。
【问题讨论】:
标签: c# .net visual-studio msbuild visual-studio-2019