对于在调试中返回404的JavaScript文件,"添加为链接"

Mat*_*att 11 asp.net visual-studio-2010

使用Visual Studio 2010 ASP.net Web应用程序,我有几个共享一些JavaScript/css文件的项目.他们共享这些文件的最合理方式是将文件放在一个文件夹中,每个项目都包含"添加为链接"选项.但是,如果我在使用Visual Studio开发服务器进行调试或使用本地IIS Web服务器进行调试时以这种方式添加文件,则对这些文件的所有请求都会返回404 Not Found错误.如果我发布该站点,那么文件将被复制,但这显然无助于调试.

有什么我想念的,或者这是VS的失败吗?

Max*_*lov 14

为了解决这个问题,前段时间我创建了一个' MSBuild.WebApplication.CopyContentLinkedFiles'nuget包.此软件包添加了MsBuild目标,该目标在构建期间复制作为项目文件夹链接添加的所有内容文件.

注意:如果使用源代码控制,则最好将复制的文件(从Web Application文件夹)添加到忽略列表.


Fré*_*idi 5

我不会真正称其为失败,因为您首先要求这种行为:Visual Studio 项目中的链接项是外部文件的实际链接。这些文件可以驻留在磁盘上的任何位置,并且不会复制到项目文件夹中。

您可能希望在预构建事件期间自己在本地复制这些文件。这样,文件将保持同步,并且在您第一次编译之前不会复制它们。

  • 好吧,因为我将它作为链接添加到项目中,所以当我请求该链接时,我应该重定向到源代码而不是 VS 在调试时返回 404。这就是为什么 VS 无法正确处理链接文档的原因。我确实测试了手动将文件复制到文件夹,然后它会返回文档,但这不是我应该做的事情。它一开始就违背了链接文档的目的。 (8认同)
  • 这是一种耻辱。我有一些在项目之间共享的 css 和 js 文件,如果没有这个功能在所有方面都有效意味着重复的代码和额外的步骤。那好吧。 (3认同)