在模块窗口中显示"跳过加载"的符号状态?

Lia*_*iam 6 c# iis pdb-files visual-studio-2013

我最近将一些解决方案升级到了Visual Studio 2013.除了现在产生的一个解决方案之外,所有解决方案都没问题:

未加载模块名称的符号.

...每次运行时都会出错.

当我查看模块调试窗口时,我可以看到dll(这是一个web服务dll)

Name           Path                       Optimised    User Code    Symbol Status
dllName.dll    Tempoary ASP.Net...etc.    Yes          No           Skipped Loading...
Run Code Online (Sandbox Code Playgroud)

如果我查看,\bin我会看到它dll和它的相应.pdb 文件.

检查项目的构建菜单,我可以看到Debug Info: full.

长话短说一切看起来很好,我希望它不会加载任何符号.

知道我错过了什么吗?

更新

看起来如果我运行我的解决方案虽然IIS表示问题消失了.但是运行IIS(8)我仍然有这个问题.

Lia*_*iam 16

在痛苦地比较两个项目文件之后,一个工作,一个没有工作,我注意到工作的项目有:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    **<Optimize>false</Optimize>**
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我的位置在哪里

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    **<Optimize>true</Optimize>**
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>

  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

通过设置<Optimize>属性,false所有问题都消失了.

这个答案似乎也相关,因为.csproj.user文件可能不同步,我删除了它.

  • 当我在模拟器中运行azure项目时,我遇到了同样的问题,而您删除`.csproj.user`的建议非常有效。 (2认同)
  • 如果你根本没有`optimize`元素,你仍然会遇到这个问题; 显然它默认为true.一旦我将`<Optimize> false </ Optimize>`添加到我的csproj中,我的符号开始正确加载. (2认同)