मेरे पास वीएस 2017 नहीं है, और मैं वीएस कोड में वेब फ्रंट-एंड का निर्माण कर रहा हूं, इसलिए मैं वीएस का उपयोग करना चाहता हूं कोड।वीएस कोड के साथ .NET कोर डीबगिंग - "केवल 64-बिट प्रक्रियाओं को डीबग किया जा सकता है"
तक नेट स्टैंडर्ड 2.0 बाहर आता है, हमारे पुस्तकालयों 4.6.1 में भी हैं, इसलिए मैं अपने नेट कोर csproj में net461 लक्ष्यीकरण हूँ:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
</ItemGroup>
</Project>
परियोजना सरल dotnet new webapi
स्टार्टर एप्लिकेशन है। मैं dotnet build
और dotnet run
के साथ निर्माण और चला सकता हूं। मुझे नवीनतम ms-vscode.csharp एक्सटेंशन 1.8.1 भी मिला है।
हालांकि, जब मैं अटैच या वी.एस. कोड के साथ इस आवेदन डिबगिंग कोशिश मैं त्रुटि
प्रक्रिया में संलग्न करने में असफल: केवल 64-बिट प्रक्रियाओं
भी से चल डिबग किया जा सकता है कंसोल, फिर बहुत सरल विन्यास के साथ संलग्न:
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
और प्रक्रिया का चयन इस त्रुटि के साथ विफल रहता है। मैंने exe लक्ष्यीकरण x64 के साथ:
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<Platform>x64</Platform>
</PropertyGroup>
लेकिन यह वही त्रुटि उत्पन्न करता है। किसी को भी एक फिक्स पता है? ऐसा लगता है क्योंकि मैं नेट 461 को लक्षित कर रहा हूं, डीबगिंग करता हूं। नेट कोर अन्य ढांचे को लक्षित करने का समर्थन नहीं करता है?
' ** आपके-ओएस-आईडी-यहां ** - x64 RuntimeIdentifier>' जोड़ने का प्रयास करें। ओएस विशिष्ट पहचानकर्ताओं की सूची के लिए https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog देखें –
Tseng
@ जो स्ट्रक्लिंग एक ही समस्या के साथ, क्या आप इसे ठीक कर सकते हैं? – nik
@nik, x3ro का समाधान काम किया। रनटाइम पहचानकर्ता को win7-x64 पर सेट करना और कॉन्फ़िगरेशन में दाएं exe को लक्षित करना। – Joe