diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index aa0d11c54a..1922cd7667 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -30,8 +30,8 @@ This file should be imported by eng/Versions.props
10.0.7-servicing.26217.10810.0.7-servicing.26217.108
- 4.0.725402
- 4.0.725402
+ 4.0.726101
+ 4.0.726101
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 649f9dfd3b..3b38bec618 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,13 +1,13 @@
-
+ https://github.com/microsoft/clrmd
- b15a248d70b18b49e129bb55dc334bf34c565406
+ fb4a9376435036da1efcf83450a912c0ddf86908
-
+ https://github.com/microsoft/clrmd
- b15a248d70b18b49e129bb55dc334bf34c565406
+ fb4a9376435036da1efcf83450a912c0ddf86908https://github.com/dotnet/command-line-api
diff --git a/eng/Versions.props b/eng/Versions.props
index 8ffec56516..54efdf8936 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -43,11 +43,11 @@
5.0.04.5.18.0.1
- 4.5.5
+ 4.6.34.3.0
- 4.5.4
- 8.0.0
- 8.0.5
+ 4.6.3
+ 10.0.3
+ 10.0.32.0.31.2.0-beta.55610.0.26100.1
diff --git a/src/SOS/extensions/hostcoreclr.cpp b/src/SOS/extensions/hostcoreclr.cpp
index 36ae77c82f..0e690a20c9 100644
--- a/src/SOS/extensions/hostcoreclr.cpp
+++ b/src/SOS/extensions/hostcoreclr.cpp
@@ -146,7 +146,7 @@ struct FileFind
public:
bool Open(const char* directory)
- {
+ {
m_directory = directory;
m_dir = opendir(directory);
if (m_dir == nullptr) {
@@ -184,7 +184,7 @@ struct FileFind
fullFilename.append(m_entry->d_name);
struct stat sb;
- if (stat(fullFilename.c_str(), &sb) == 0)
+ if (stat(fullFilename.c_str(), &sb) == 0)
{
if (S_ISREG(sb.st_mode) || S_ISDIR(sb.st_mode)) {
return true;
@@ -205,7 +205,7 @@ struct FileFind
}
}
- bool IsDirectory()
+ bool IsDirectory()
{
return m_entry->d_type == DT_DIR;
}
@@ -246,7 +246,7 @@ struct FileFind
}
}
- bool IsDirectory()
+ bool IsDirectory()
{
return (m_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0;
}
@@ -327,10 +327,13 @@ static std::string GetTpaListForRuntimeVersion(
// assembly version than the ones in the ones in the framework. The test could just
// have a list of assemblies we pack with the versions, and if we end up using a newer assembly
// fail the test and point to update this list.
-
- if (hostRuntimeVersion.Major > 0 && hostRuntimeVersion.Major < 9)
+ // This is also not fully correct as it doesn't consider the patch version (i.e. a 10.0.3 host doesn't
+ // satisfy a 10.0.7 requirement). The only correct fix is to look at the two lists and choose the highest version of each assembly.
+ if (hostRuntimeVersion.Major > 0 && hostRuntimeVersion.Major < 10)
{
AddFileToTpaList(directory, "System.Collections.Immutable.dll", tpaList);
+ AddFileToTpaList(directory, "System.Text.Json.dll", tpaList);
+ AddFileToTpaList(directory, "System.Text.Encodings.Web.dll", tpaList);
}
// Trust the runtime assemblies that are newer than the ones needed and provided by SOS's managed
@@ -369,7 +372,7 @@ static bool FindDotNetVersion(const RuntimeVersion& runtimeVersion, std::string&
}
}
}
- }
+ }
while (find.Next());
}
@@ -457,7 +460,7 @@ struct ProbingStrategy
/**********************************************************************\
* Returns the path to the coreclr to use for hosting and it's
- * directory. Attempts to use the best installed version of the
+ * directory. Attempts to use the best installed version of the
* runtime, otherwise it defaults to the target's runtime version.
\**********************************************************************/
static HRESULT GetHostRuntime(std::string& coreClrPath, std::string& hostRuntimeDirectory, RuntimeVersion& hostRuntimeVersion)
@@ -659,7 +662,7 @@ static HRESULT InitializeNetCoreHost()
return hr;
}
}
- try
+ try
{
hr = g_extensionsInitializeFunc(sosModulePath.c_str());
}