【发布时间】:2017-08-07 12:59:20
【问题描述】:
我目前正在努力将现有的 .NET Framework 4.5.2 项目与新的 ASP.NET Core 项目集成。我使用 .NET Core SDK 1.1.1 构建
到目前为止,我拥有的是一个简单的 ASP 脚手架,它正在运行并能够加载我的旧项目 DLL,但我无法使用 VS Code 对其进行调试,因为生成的 PDB 似乎被忽略了。
这是csproj(我删除了对旧项目的包引用,但问题仍然存在)
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net452</TargetFramework>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Routing" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
</Project>
当我将 TargetFramework 更改为 netcoreapp1.1 时,会创建一个 DLL 而不是 EXE,并且可以进行调试。知道为什么吗?
这是 dotnet --info 的输出
.NET Command Line Tools (1.0.1)
Product Information:
Version: 1.0.1
Commit SHA-1 hash: 005db40cd1
Runtime Environment:
OS Name: Windows
OS Version: 6.1.7601
OS Platform: Windows
RID: win7-x64
Base Path: C:\Program Files\dotnet\sdk\1.0.1
【问题讨论】:
标签: c# asp.net-core visual-studio-code .net-core pdb-files