You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR makes various improvements to our offline package support in preparation for switching to that as our primary means of distribution.
More significant changes:
1. Added support for the missing supported platforms
2. Switched to using the same schema as VS Code for the names of platforms
3. Stop dropping the debugger install complete file. The install complete file is used to do some first run OS validation logic, so it should not have been dropped by the offline installer.
4. Lots of error handling improvements:
* Add a try/catch around `doOfflinePackage` so we could know which package failed
* Detect and fail if a package download fails
* Detect and fail if the vsce process exits with a non-zero exit code
* Detect and fail if the vsce process fails to create the file we expect it to
5. Fix offline package creation on Linux-x64. This would fail due to multiple files with the same name but different casing.
6. Fix incorrect check in debugger activation code
A few minor changes too:
1. Used more async APIs
2. Move the win32 check up to the start instead of failing each package
3. All the debugger references were to the '.NET Core' debugger and I dropped the 'Core' from this.
// If this is a valid architecture, we should have had a debugger, so warn if we didn't, otherwise
26
+
// a warning was already issued, so do nothing.
27
+
if(isValidArchitecture){
26
28
eventStream.post(newDebuggerPrerequisiteFailure("[ERROR]: C# Extension failed to install the debugger package."));
27
29
showInstallErrorMessage(eventStream);
28
30
}
@@ -41,7 +43,7 @@ async function checkIsValidArchitecture(platformInformation: PlatformInformation
41
43
if(platformInformation){
42
44
if(platformInformation.isMacOS()){
43
45
if(platformInformation.architecture==="arm64"){
44
-
eventStream.post(newDebuggerPrerequisiteWarning(`[WARNING]: arm64 macOS is not officially supported by the .NET Core debugger. You may experience unexpected issues when running in this configuration.`));
46
+
eventStream.post(newDebuggerPrerequisiteWarning(`[WARNING]: arm64 macOS is not officially supported by the .NET debugger. You may experience unexpected issues when running in this configuration.`));
45
47
returntrue;
46
48
}
47
49
@@ -56,7 +58,7 @@ async function checkIsValidArchitecture(platformInformation: PlatformInformation
56
58
}
57
59
elseif(platformInformation.isWindows()){
58
60
if(platformInformation.architecture==="x86"){
59
-
eventStream.post(newDebuggerPrerequisiteWarning(`[WARNING]: x86 Windows is not currently supported by the .NET Core debugger. Debugging will not be available.`));
61
+
eventStream.post(newDebuggerPrerequisiteWarning(`[WARNING]: x86 Windows is not supported by the .NET debugger. Debugging will not be available.`));
60
62
returnfalse;
61
63
}
62
64
@@ -85,7 +87,6 @@ async function completeDebuggerInstall(platformInformation: PlatformInformation,
// The VSIX Format doesn't allow files that differ only by case. The Linux OmniSharp package had a lowercase version of these files ('.targets') targets from mono,
113
+
// and an upper case ('.Targets') from Microsoft.Build.Runtime. Remove the lowercase versions.
0 commit comments