summaryrefslogtreecommitdiff
path: root/src/binder
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@users.noreply.github.com>2015-09-30 14:48:32 -0700
committerKoundinya Veluri <kouvel@users.noreply.github.com>2015-09-30 14:48:32 -0700
commitca8dc1370187dc2bd5fc2147999b77a74b5d12ee (patch)
tree9a4654b8c2beb85879b9ce7e58088eda9c5cf01a /src/binder
parent7dac994dc3ee4bba846784f0079e54060dc030fb (diff)
parente780495d6e7575812fd5c42d4125c35b6054fa95 (diff)
downloadcoreclr-ca8dc1370187dc2bd5fc2147999b77a74b5d12ee.tar.gz
coreclr-ca8dc1370187dc2bd5fc2147999b77a74b5d12ee.tar.bz2
coreclr-ca8dc1370187dc2bd5fc2147999b77a74b5d12ee.zip
Merge pull request #1651 from kouvel/TpaPktFix
Remove the need for the PKT to match when binding to an assembly on t…
Diffstat (limited to 'src/binder')
-rw-r--r--src/binder/assemblybinder.cpp10
-rw-r--r--src/binder/assemblyname.cpp6
-rw-r--r--src/binder/inc/assemblyname.hpp2
3 files changed, 5 insertions, 13 deletions
diff --git a/src/binder/assemblybinder.cpp b/src/binder/assemblybinder.cpp
index 767df5fb2b..ecd34499af 100644
--- a/src/binder/assemblybinder.cpp
+++ b/src/binder/assemblybinder.cpp
@@ -1225,17 +1225,9 @@ namespace BINDER_SPACE
#ifdef FEATURE_LEGACYNETCF
fWindowsPhone7 = RuntimeIsLegacyNetCF(pApplicationContext->GetAppDomainId()) == TRUE;
#endif
- //
- // Windows Phone 7 Quirk:
- //
- // NetCF allows partial binds to platform assemblies. If we are running a
- // Mango application, skip the PKT check if no Ref version is provided,
- // since there are apps in the Marketplace that do Assembly.Load("System")
- //
+
if (!tpaListAssembly || (fWindowsPhone7 && tpaListAssembly))
{
- dwIncludeFlags |= AssemblyName::EXCLUDE_PUBLIC_KEY_TOKEN_IF_MISSING;
-
//
// On Windows Phone 7, exclude culture comparisons when requesting an uncultured
// assembly for app compat reasons (there are main app assemblies with spurious cultures)
diff --git a/src/binder/assemblyname.cpp b/src/binder/assemblyname.cpp
index f65363de63..a1897e409d 100644
--- a/src/binder/assemblyname.cpp
+++ b/src/binder/assemblyname.cpp
@@ -568,10 +568,10 @@ Exit:
{
fEquals = EqualsCaseInsensitive(GetNormalizedCulture(), pAssemblyName->GetNormalizedCulture());
}
- if (fEquals && ((dwIncludeFlags & EXCLUDE_PUBLIC_KEY_TOKEN_IF_MISSING) == 0 ||
- (pAssemblyName->Have(AssemblyIdentity::IDENTITY_FLAG_PUBLIC_KEY_TOKEN))))
+
+ if (fEquals && (dwIncludeFlags & INCLUDE_PUBLIC_KEY_TOKEN) != 0)
{
- fEquals = (GetPublicKeyTokenBLOB().Equals(pAssemblyName->GetPublicKeyTokenBLOB()));
+ fEquals = (GetPublicKeyTokenBLOB().Equals(pAssemblyName->GetPublicKeyTokenBLOB()));
}
if (fEquals && ((dwIncludeFlags & INCLUDE_ARCHITECTURE) != 0))
diff --git a/src/binder/inc/assemblyname.hpp b/src/binder/inc/assemblyname.hpp
index ac648586e3..474500bc75 100644
--- a/src/binder/inc/assemblyname.hpp
+++ b/src/binder/inc/assemblyname.hpp
@@ -31,7 +31,7 @@ namespace BINDER_SPACE
INCLUDE_ARCHITECTURE = 0x02,
INCLUDE_RETARGETABLE = 0x04,
INCLUDE_CONTENT_TYPE = 0x08,
- EXCLUDE_PUBLIC_KEY_TOKEN_IF_MISSING = 0x10,
+ INCLUDE_PUBLIC_KEY_TOKEN = 0x10,
EXCLUDE_CULTURE = 0x20
} INCLUDE_FLAGS;