Visual Studio忽略了ASP.net项目中的语法错误

时间:2015-02-19 16:16:31

标签: c# asp.net visual-studio

我将Visual Studio解决方案从使用“网站”迁移到“ASP.net项目”,以便能够使用Web.config转换。

现在,在迁移之后,当我清理/构建/重建我的解决方案时,Visual Studio完全忽略了语法错误。

一旦打开Web应用程序,这些语法错误就会显示在我的浏览器中 - 但在编译期间看到它们会很有帮助。它们曾经出现在我的错误列表中 - 我现在只能看到一些无趣的警告。

我仍然可以运行我的网络应用程序,一切运行良好。

如何配置我的解决方案,以便在编译期间出现编译错误?


编辑(回答答案/评论):

  • 只要我打开.cs文件(通过双击它),就会显示语法错误(在文件内部和错误列表视图中)。
  • 我正在使用Microsoft Visual Studio Professional 2012(版本11.0.61030.00 Update 4)和.NET 4.5.50709(德语版)。我在本地部署到Visual Studio的IIS。
  • 我没有使用NuGet,我的所有资源都在一个项目中
  • 我实际上只是使用WCF提供REST-Backend。我只有c#来源。语法错误在我的c#classes中。
  • 语法错误位于我的App_Code文件夹中的.cs文件中。
  • 当我将我的网站迁移到一个项目时,我手动编辑了我的.csproj文件(添加了缺少的“内容包含”等)。我希望这不会破坏我的解决方案......
  • 我没有使用默认的“DEBUG”和“RELEASE”构建配置,而是创建了我自己的服务器特定配置(以每个服务器的名称命名)。
  • (@Guvante)当我编辑构建配置时,我在“项目上下文表”中看到一行。第一行也是唯一一行显示:
    1. 我的项目名称
    2. 下拉列表中的配置名称
    3. 平台“任何CPU”
    4. 选中复选标记“build”
    5. 空字段“deploy”
  • 我的错误列表已过滤为“当前项目”,无论我在解决方案资源管理器中选择哪个项目,它都不会显示语法错误。
  • 有时候(无法确切地告知)VS在启动调试时会显示警告,告诉我我的模块是使用优化构建的,还是没有调试信息。不知道,这个警告是否与此问题有关。
  • 成功构建的控制台输出(虽然源包含语法错误)是:

    1> ------ Erstellen gestartet:Projekt:MyProject,Konfiguration:localdev任何CPU ------ 1 GT; MyProject - > C:\路径\ MyProject的\ BIN \ MyProject.dll ========== Erstellen:1 erfolgreich,0 fehlerhaft,0 aktuell,0übersprungen==========

  • 我保存,关闭VS,重新启动机器,重新打开VS,闭上眼睛,交叉手指 - @ chief-two-pencils;)

3 个答案:

答案 0 :(得分:2)

在.csproj文件中,您可以更改

<Content Include="C:\...\foo.cs" />

回到

<Compile Include="C:\...\foo.cs" />

有关MSDN documentation和此stackoverflow question的更多信息。

答案 1 :(得分:1)

您应将其更改为:

<Compile Include="....." />

build action媒体资源上的MSDN文章说:

  1. 编译 - 将文件编译到构建输出中。此设置用于代码文件。

  2. 内容 - 文件未编译,但包含在内容输出组中。例如,此设置是.htm或其他类型的Web文件的默认值。意味着它是可部署的项目项,它表示需要将文件复制到目标计算机。另请注意,使用一键部署时将包含内容。

  3. 详细了解构建操作here

答案 2 :(得分:0)

如果您有Nuget包,请运行update-package

尝试卸载项目并将其重新加载到解决方案中

这对我有用