diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs
index de5b2db5a4..6e8ee0bbb1 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs
@@ -10,7 +10,6 @@
namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources {
using System;
- using System.Reflection;
///
@@ -20,7 +19,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class CommonResources {
@@ -40,7 +39,7 @@ internal CommonResources() {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources.CommonResources", typeof(CommonResources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources.CommonResources", typeof(CommonResources).Assembly);
resourceMan = temp;
}
return resourceMan;
@@ -60,7 +59,7 @@ internal CommonResources() {
resourceCulture = value;
}
}
-
+
///
/// Looks up a localized string similar to The parameter cannot be null or empty..
///
@@ -69,9 +68,9 @@ public static string CannotBeNullOrEmpty {
return ResourceManager.GetString("CannotBeNullOrEmpty", resourceCulture);
}
}
-
+
///
- /// Looks up a localized string similar to Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings..
+ /// Looks up a localized string similar to Test run detected DLL(s) which were built for different framework and platform versions. Following DLL(s) do not match current settings, which are {0} framework and {1} platform.{2}Go to {3} for more details on managing these settings..
///
public static string DisplayChosenSettings {
get {
@@ -82,7 +81,7 @@ public static string DisplayChosenSettings {
///
/// Looks up a localized string similar to Settings file provided does not conform to required format..
///
- public static string MalformedRunSettingsFile{
+ public static string MalformedRunSettingsFile {
get {
return ResourceManager.GetString("MalformedRunSettingsFile", resourceCulture);
}
@@ -100,10 +99,8 @@ public static string NoMatchingSourcesFound {
///
/// Looks up a localized string similar to {0} is built for Framework {1} and Platform {2}..
///
- public static string SourceIncompatible
- {
- get
- {
+ public static string SourceIncompatible {
+ get {
return ResourceManager.GetString("SourceIncompatible", resourceCulture);
}
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.resx b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.resx
index 870ef40055..be18466964 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.resx
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.resx
@@ -121,8 +121,7 @@
The parameter cannot be null or empty.
- Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) do not match framework/platform settings.{2}Go to {3} for more details on managing these settings.
-
+ Test run detected DLL(s) which were built for different framework and platform versions. Following DLL(s) do not match current settings, which are {0} framework and {1} platform.{2}Go to {3} for more details on managing these settings.Settings file provided does not conform to required format.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf
index e982ee4eac..8086b433f7 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- Testovací běh použije knihovny DLL sestavené pro rozhraní {0} a platformu {1}. Tyto knihovny DLL nebudou součástí běhu: {2}Další podrobnosti o správě těchto nastavení najdete na adrese {3}.
+
+ Testovací běh použije knihovny DLL sestavené pro rozhraní {0} a platformu {1}. Tyto knihovny DLL nebudou součástí běhu: {2}Další podrobnosti o správě těchto nastavení najdete na adrese {3}.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf
index ba40291dc4..4ae86e5507 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- Der Testlauf verwendet DLLs, die für das Framework {0} und die Plattform {1} erstellt wurden. Die folgenden DLLs sind nicht Teil der Ausführung: {2}.Navigieren Sie zu {3}, um weitere Details zum Verwalten dieser Einstellungen zu erhalten.
+
+ Der Testlauf verwendet DLLs, die für das Framework {0} und die Plattform {1} erstellt wurden. Die folgenden DLLs sind nicht Teil der Ausführung: {2}.Navigieren Sie zu {3}, um weitere Details zum Verwalten dieser Einstellungen zu erhalten.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf
index 666bada9cb..1b6ac492fa 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- La serie de pruebas usará archivos DLL compilados para el marco {0} y la plataforma {1}. Los siguientes archivos DLL no formarán parte de la ejecución: {2}Vaya a {3} para obtener más información sobre cómo administrar esta configuración.
+
+ La serie de pruebas usará archivos DLL compilados para el marco {0} y la plataforma {1}. Los siguientes archivos DLL no formarán parte de la ejecución: {2}Vaya a {3} para obtener más información sobre cómo administrar esta configuración.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf
index 8d51f2a065..5c919ba88d 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- La série de tests utilise des DLL générées pour le framework {0} et la plateforme {1}. Les DLL suivantes ne font pas partie de la série de tests : {2}Accédez à {3} pour plus de détails sur la gestion de ces paramètres.
+
+ La série de tests utilise des DLL générées pour le framework {0} et la plateforme {1}. Les DLL suivantes ne font pas partie de la série de tests : {2}Accédez à {3} pour plus de détails sur la gestion de ces paramètres.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf
index c26137efa1..13466ee155 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- Per l'esecuzione dei test verranno usate DLL compilate per il framework {0} e la piattaforma {1}. Le DLL seguenti non saranno incluse nell'esecuzione: {2}.Per maggiori dettagli sulla gestione di queste impostazioni, passare a {3}.
+
+ Per l'esecuzione dei test verranno usate DLL compilate per il framework {0} e la piattaforma {1}. Le DLL seguenti non saranno incluse nell'esecuzione: {2}.Per maggiori dettagli sulla gestione di queste impostazioni, passare a {3}.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf
index 86ba17e7d3..a8fbaf1ac7 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- テスト実行ではフレームワーク {0} およびプラットフォーム {1} 用にビルドされた DLL を使用します。次の DLL は実行には含まれません: {2}これらの設定の管理方法の詳細については、{3} にアクセスしてください。
+
+ テスト実行ではフレームワーク {0} およびプラットフォーム {1} 用にビルドされた DLL を使用します。次の DLL は実行には含まれません: {2}これらの設定の管理方法の詳細については、{3} にアクセスしてください。
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf
index d096155107..c71f96ab0c 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- 테스트 실행에서는 프레임워크 {0} 및 플랫폼 {1}용으로 작성된 DLL을 사용합니다. 다음 DLL은 실행에서 사용할 수 없습니다. {2}.이러한 설정의 관리에 대한 자세한 내용은 {3}을(를) 참조하세요.
+
+ 테스트 실행에서는 프레임워크 {0} 및 플랫폼 {1}용으로 작성된 DLL을 사용합니다. 다음 DLL은 실행에서 사용할 수 없습니다. {2}.이러한 설정의 관리에 대한 자세한 내용은 {3}을(를) 참조하세요.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf
index a9542df617..d02d4e7232 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- Przebieg testu użyje plików DLL przeznaczonych dla struktury {0} i platformy {1}. Następujące pliki DLL nie pasują do ustawień struktury/platformy.{2}.Aby uzyskać więcej informacji na temat zarządzania tymi ustawieniami, przejdź do strony {3}.
+
+ Przebieg testu użyje plików DLL przeznaczonych dla struktury {0} i platformy {1}. Następujące pliki DLL nie pasują do ustawień struktury/platformy.{2}.Aby uzyskać więcej informacji na temat zarządzania tymi ustawieniami, przejdź do strony {3}.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf
index fb3c6ceeab..8078a37670 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- A execução de teste usará DLLs criadas para a estrutura {0} e a plataforma {1}. As seguintes DLLs não farão parte da execução: {2}Acesse {3} para obter mais detalhes sobre como gerenciar essas configurações.
+
+ A execução de teste usará DLLs criadas para a estrutura {0} e a plataforma {1}. As seguintes DLLs não farão parte da execução: {2}Acesse {3} para obter mais detalhes sobre como gerenciar essas configurações.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf
index fe40184d0c..c71f7deec3 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- При запуске тестов будут использоваться библиотеки DLL, собранные для платформ {0} и {1}. Следующие библиотеки DLL не будут участвовать в запуске: {2}.Дополнительные сведения об управлении этими параметрами см. в разделе {3}.
+
+ При запуске тестов будут использоваться библиотеки DLL, собранные для платформ {0} и {1}. Следующие библиотеки DLL не будут участвовать в запуске: {2}.Дополнительные сведения об управлении этими параметрами см. в разделе {3}.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf
index 0bdfd4a632..3a28809598 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- Test çalıştırmasında, {0} çerçevesi ve {1} platformu için oluşturulan DLL’ler kullanılacak. Şu DLL’ler çalıştırmaya dahil edilmeyecek: {2}Bu ayarları yönetmeye ilişkin ayrıntılar için {3} sayfasına gidin.
+
+ Test çalıştırmasında, {0} çerçevesi ve {1} platformu için oluşturulan DLL’ler kullanılacak. Şu DLL’ler çalıştırmaya dahil edilmeyecek: {2}Bu ayarları yönetmeye ilişkin ayrıntılar için {3} sayfasına gidin.
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf
index a053d2ffff..29ceff30df 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf
@@ -7,8 +7,7 @@
-
+
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf
index 724025809e..07443c2faf 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- 测试运行将使用为框架 {0} 和平台 {1} 生成的 DLL。以下 DLL 将不是运行的一部分: {2}转到 {3} 了解有关管理这些设置的详细信息。
+
+ 测试运行将使用为框架 {0} 和平台 {1} 生成的 DLL。以下 DLL 将不是运行的一部分: {2}转到 {3} 了解有关管理这些设置的详细信息。
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf
index 5cfcc79a85..155f7775e9 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf
@@ -30,11 +30,10 @@
fuzzyMatch="15" wordcount="7" adjWordcount="5.95" curWordcount="5.95"
-
- 測試回合將使用替架構 {0} 與平台 {1} 所建置的 DLL。下列 DLL 將不包含在測試回合中: {2}如需如何管理這些設定的詳細資料,請前往 {3}。
+
+ 測試回合將使用替架構 {0} 與平台 {1} 所建置的 DLL。下列 DLL 將不包含在測試回合中: {2}如需如何管理這些設定的詳細資料,請前往 {3}。
-
+ Testlauf verwendet DLLs für Framework {0} und {1}-Plattform integriert. Folgende DLLs nicht Teil ausführen: {2} zur {3} Einzelheiten auf diese Einstellungen.
diff --git a/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs b/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs
index 2873ccce3d..fc069da27e 100644
--- a/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs
+++ b/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs
@@ -657,7 +657,7 @@ public static bool TryGetFrameworkXml(XPathNavigator runSettingsNavigator, out s
/// Returns the sources matching the specified platform and framework settings.
/// For incompatible sources, warning is added to incompatibleSettingWarning.
///
- public static IEnumerable FilterCompatibleSources(Architecture chosenPlatform, Framework chosenFramework, IDictionary sourcePlatforms, IDictionary sourceFrameworks, out String incompatibleSettingWarning)
+ public static IEnumerable FilterCompatibleSources(Architecture chosenPlatform, Architecture defaultArchitecture, Framework chosenFramework, IDictionary sourcePlatforms, IDictionary sourceFrameworks, out String incompatibleSettingWarning)
{
incompatibleSettingWarning = string.Empty;
List compatibleSources = new List();
@@ -687,7 +687,7 @@ public static IEnumerable FilterCompatibleSources(Architecture chosenPla
if (incompatiblityFound)
{
- incompatibleSettingWarning = string.Format(CultureInfo.CurrentCulture, OMResources.DisplayChosenSettings, chosenFramework, chosenPlatform, warnings.ToString(), multiTargettingForwardLink);
+ incompatibleSettingWarning = string.Format(CultureInfo.CurrentCulture, OMResources.DisplayChosenSettings, chosenFramework, defaultArchitecture, warnings.ToString(), multiTargettingForwardLink);
}
return compatibleSources;
@@ -715,7 +715,10 @@ private static bool IsPlatformIncompatible(Architecture sourcePlatform, Architec
{
return false;
}
-
+ if (targetPlatform == Architecture.X64 && !Environment.Is64BitOperatingSystem)
+ {
+ return true;
+ }
return sourcePlatform != targetPlatform;
}
diff --git a/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
index 3fc25a44e8..e340f1d77e 100644
--- a/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
+++ b/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
@@ -4,21 +4,20 @@
namespace Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers
{
using System;
- using System.Collections.Generic;
+ using System.Xml;
using System.IO;
using System.Linq;
- using System.Reflection;
+ using System.Xml.XPath;
using System.Threading;
+ using System.Reflection;
+ using System.Globalization;
using System.Threading.Tasks;
- using System.Xml;
- using System.Xml.XPath;
+ using System.Collections.Generic;
using Microsoft.VisualStudio.TestPlatform.Client;
- using Microsoft.VisualStudio.TestPlatform.Client.TestRunAttachmentsProcessing;
using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
using Microsoft.VisualStudio.TestPlatform.CommandLine.Internal;
using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
using Microsoft.VisualStudio.TestPlatform.CommandLine.Publisher;
- using Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
using Microsoft.VisualStudio.TestPlatform.CommandLineUtilities;
using Microsoft.VisualStudio.TestPlatform.Common;
using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
@@ -35,6 +34,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers
using Microsoft.VisualStudio.TestPlatform.PlatformAbstractions;
using Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.Interfaces;
using Microsoft.VisualStudio.TestPlatform.Utilities;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
///
/// Defines the TestRequestManger which can fire off discovery and test run requests
@@ -444,26 +444,18 @@ private bool UpdateRunSettingsIfRequired(string runsettingsXml, List sou
settingsUpdated |= this.UpdateFramework(document, navigator, sources, sourceFrameworks, registrar, out Framework chosenFramework);
- // Choose default architecture based on the framework
- // For .NET core, the default platform architecture should be based on the process.
- // For a 64 bit process,
+ // Set default architecture as X86
Architecture defaultArchitecture = Architecture.X86;
- if (chosenFramework.Name.IndexOf("netstandard", StringComparison.OrdinalIgnoreCase) >= 0
- || chosenFramework.Name.IndexOf("netcoreapp", StringComparison.OrdinalIgnoreCase) >= 0)
- {
- var currentProcessName = this.processHelper.GetProcessName(this.processHelper.GetCurrentProcessId());
- defaultArchitecture = (currentProcessName.StartsWith("dotnet", StringComparison.OrdinalIgnoreCase) && !Environment.Is64BitProcess) ? Architecture.X86: Architecture.X64;
- }
settingsUpdated |= this.UpdatePlatform(document, navigator, sources, sourcePlatforms, defaultArchitecture, out Architecture chosenPlatform);
- this.CheckSourcesForCompatibility(chosenFramework, chosenPlatform, sourcePlatforms, sourceFrameworks, registrar);
+ this.CheckSourcesForCompatibility(chosenFramework, chosenPlatform, defaultArchitecture, sourcePlatforms, sourceFrameworks, registrar);
settingsUpdated |= this.UpdateDesignMode(document, runConfiguration);
settingsUpdated |= this.UpdateCollectSourceInformation(document, runConfiguration);
settingsUpdated |= this.UpdateTargetDevice(navigator, document, runConfiguration);
settingsUpdated |= this.AddOrUpdateConsoleLogger(document, runConfiguration, loggerRunSettings);
updatedRunSettingsXml = navigator.OuterXml;
- }
+ }
}
return settingsUpdated;
@@ -516,10 +508,10 @@ private bool UpdateDesignMode(XmlDocument document, RunConfiguration runConfigur
return updateRequired;
}
- private void CheckSourcesForCompatibility(Framework chosenFramework, Architecture chosenPlatform, IDictionary sourcePlatforms, IDictionary sourceFrameworks, IBaseTestEventsRegistrar registrar)
+ private void CheckSourcesForCompatibility(Framework chosenFramework, Architecture chosenPlatform, Architecture defaultArchitecture, IDictionary sourcePlatforms, IDictionary sourceFrameworks, IBaseTestEventsRegistrar registrar)
{
// Find compatible sources
- var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(chosenPlatform, chosenFramework, sourcePlatforms, sourceFrameworks, out var incompatibleSettingWarning);
+ var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(chosenPlatform, defaultArchitecture, chosenFramework, sourcePlatforms, sourceFrameworks, out var incompatibleSettingWarning);
// Raise warnings for incompatible sources
if (!string.IsNullOrEmpty(incompatibleSettingWarning))
diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs b/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs
index 78b9ad46b3..88d2c498c3 100644
--- a/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs
+++ b/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs
@@ -204,7 +204,7 @@ public void UnhandleExceptionExceptionShouldBeLoggedToDiagLogFile(RunnerInfo run
public void IncompatibleSourcesWarningShouldBeDisplayedInTheConsole(RunnerInfo runnerInfo)
{
AcceptanceTestBase.SetTestEnvironment(this.testEnvironment, runnerInfo);
- var expectedWarningContains = @"Following DLL(s) do not match framework/platform settings. SimpleTestProject3.dll is built for Framework .NETFramework,Version=v4.5.1 and Platform X64";
+ var expectedWarningContains = @"Following DLL(s) do not match current settings, which are .NETFramework,Version=v4.5.1 framework and X86 platform. SimpleTestProject3.dll is built for Framework .NETFramework,Version=v4.5.1 and Platform X64";
var assemblyPaths =
this.BuildMultipleAssemblyPath("SimpleTestProject3.dll", "SimpleTestProjectx86.dll").Trim('\"');
var arguments = PrepareArguments(assemblyPaths, this.GetTestAdapterPath(), string.Empty, this.FrameworkArgValue, runnerInfo.InIsolationValue);
@@ -218,5 +218,50 @@ public void IncompatibleSourcesWarningShouldBeDisplayedInTheConsole(RunnerInfo r
// When both x64 & x86 DLL is passed x64 dll will be ignored.
this.StdOutputContains(expectedWarningContains);
}
+
+ [TestMethod]
+ [NetFullTargetFrameworkDataSource]
+ public void NoIncompatibleSourcesWarningShouldBeDisplayedInTheConsole(RunnerInfo runnerInfo)
+ {
+ AcceptanceTestBase.SetTestEnvironment(this.testEnvironment, runnerInfo);
+ var expectedWarningContains = @"Following DLL(s) do not match current settings, which are .NETFramework,Version=v4.5.1 framework and X86 platform. SimpleTestProjectx86 is built for Framework .NETFramework,Version=v4.5.1 and Platform X86";
+ var assemblyPaths =
+ this.BuildMultipleAssemblyPath("SimpleTestProjectx86.dll");
+ var arguments = PrepareArguments(assemblyPaths, this.GetTestAdapterPath(), string.Empty, this.FrameworkArgValue, runnerInfo.InIsolationValue);
+
+ this.InvokeVsTest(arguments);
+
+ this.ValidateSummaryStatus(1, 0, 0);
+ this.ExitCodeEquals(0);
+
+ this.StdOutputDoesNotContains(expectedWarningContains);
+ }
+
+ [TestMethod]
+ [NetFullTargetFrameworkDataSource]
+ public void IncompatibleSourcesWarningShouldBeDisplayedInTheConsoleOnlyWhenRunningIn32BitOS(RunnerInfo runnerInfo)
+ {
+ AcceptanceTestBase.SetTestEnvironment(this.testEnvironment, runnerInfo);
+ var expectedWarningContains = @"Following DLL(s) do not match current settings, which are .NETFramework,Version=v4.5.1 framework and X86 platform. SimpleTestProject2.dll is built for Framework .NETFramework,Version=v4.5.1 and Platform X64";
+ var assemblyPaths =
+ this.BuildMultipleAssemblyPath("SimpleTestProject2.dll");
+ var arguments = PrepareArguments(assemblyPaths, this.GetTestAdapterPath(), string.Empty, this.FrameworkArgValue, runnerInfo.InIsolationValue);
+
+ this.InvokeVsTest(arguments);
+
+ this.ValidateSummaryStatus(1, 1, 1);
+ this.ExitCodeEquals(1);
+
+ // If we are running this test on 64 bit OS, it should not output any warning
+ if (Environment.Is64BitOperatingSystem)
+ {
+ this.StdOutputDoesNotContains(expectedWarningContains);
+ }
+ // If we are running this test on 32 bit OS, it should output warning message
+ else
+ {
+ this.StdOutputContains(expectedWarningContains);
+ }
+ }
}
}
diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/FrameworkTests.cs b/test/Microsoft.TestPlatform.AcceptanceTests/FrameworkTests.cs
index 3a1622c7b0..69bf2cb06f 100644
--- a/test/Microsoft.TestPlatform.AcceptanceTests/FrameworkTests.cs
+++ b/test/Microsoft.TestPlatform.AcceptanceTests/FrameworkTests.cs
@@ -84,7 +84,7 @@ public void RunSpecificTestsShouldWorkWithFrameworkInCompatibleWarning(RunnerInf
}
else
{
- this.StdOutputContains("Following DLL(s) do not match framework/platform settings. ");
+ this.StdOutputContains("Following DLL(s) do not match current settings, which are .NETFramework,Version=v4.0 framework and X86 platform.");
this.ValidateSummaryStatus(1, 0, 0);
}
}
diff --git a/test/Microsoft.TestPlatform.Utilities.UnitTests/InferRunSettingsHelperTests.cs b/test/Microsoft.TestPlatform.Utilities.UnitTests/InferRunSettingsHelperTests.cs
index 3dea75f96c..6c0a22e6bd 100644
--- a/test/Microsoft.TestPlatform.Utilities.UnitTests/InferRunSettingsHelperTests.cs
+++ b/test/Microsoft.TestPlatform.Utilities.UnitTests/InferRunSettingsHelperTests.cs
@@ -408,7 +408,7 @@ public void FilterCompatibleSourcesShouldIdentifyIncomaptiableSourcesAndConstruc
#endregion
string warningMessage = string.Empty;
- var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Constants.DefaultPlatform, frameworkNet47, sourceArchitectures, sourceFrameworks, out warningMessage);
+ var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Constants.DefaultPlatform, Constants.DefaultPlatform, frameworkNet47, sourceArchitectures, sourceFrameworks, out warningMessage);
// None of the DLLs passed are compatible to the chosen settings
Assert.AreEqual(0, compatibleSources.Count());
@@ -431,7 +431,7 @@ public void FilterCompatibleSourcesShouldIdentifyCompatibleSources()
var expected = string.Format(CultureInfo.CurrentCulture, OMResources.DisplayChosenSettings, frameworkNet45, Constants.DefaultPlatform, sb.ToString(), @"http://go.microsoft.com/fwlink/?LinkID=236877&clcid=0x409");
string warningMessage = string.Empty;
- var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Constants.DefaultPlatform, frameworkNet45, sourceArchitectures, sourceFrameworks, out warningMessage);
+ var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Constants.DefaultPlatform, Constants.DefaultPlatform, frameworkNet45, sourceArchitectures, sourceFrameworks, out warningMessage);
// only "x86net45.dll" is the compatible source
Assert.AreEqual(1, compatibleSources.Count());
@@ -445,7 +445,7 @@ public void FilterCompatibleSourcesShouldNotComposeWarningIfSettingsAreCorrect()
sourceFrameworks["x86net45.dll"] = frameworkNet45;
string warningMessage = string.Empty;
- var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Constants.DefaultPlatform, frameworkNet45, sourceArchitectures, sourceFrameworks, out warningMessage);
+ var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Constants.DefaultPlatform, Constants.DefaultPlatform, frameworkNet45, sourceArchitectures, sourceFrameworks, out warningMessage);
// only "x86net45.dll" is the compatible source
Assert.AreEqual(1, compatibleSources.Count());
@@ -459,7 +459,7 @@ public void FilterCompatibleSourcesShouldRetrunWarningMessageIfNoConflict()
sourceFrameworks["x64net45.exe"] = frameworkNet45;
string warningMessage = string.Empty;
- var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Architecture.X64, frameworkNet45, sourceArchitectures, sourceFrameworks, out warningMessage);
+ var compatibleSources = InferRunSettingsHelper.FilterCompatibleSources(Architecture.X64, Constants.DefaultPlatform, frameworkNet45, sourceArchitectures, sourceFrameworks, out warningMessage);
Assert.IsTrue(string.IsNullOrEmpty(warningMessage));
}