Запуск внешнего приложения в тесте Microsoft::VisualStudio::CppUnitTestFramework ⇐ C++
-
Гость
Запуск внешнего приложения в тесте Microsoft::VisualStudio::CppUnitTestFramework
Я пишу тестовый проект для приложения MFC, используя Microsoft::VisualStudio::CppUnitTestFramework, с одним шагом для проверки сквозной интеграции указанного приложения со всеми внешними сторонами ( SQL Server и другие объекты). Мне нужно запустить и контролировать ряд внешних процессов, с которыми будет взаимодействовать это приложение MFC. Одно из этих внешних приложений использует платформу dot NET v4.0.30319. Когда я пытаюсь запустить эту утилиту с помощью ShellExecute() или CreateProcess(), происходит сбой с сообщением ниже:
Не удалось загрузить файл или сборку 'Microsoft.VisualStudio.CodeCoverage.Shim, версия = 15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' или один из его зависимости.
И это несмотря на то, что я могу запускать утилиту напрямую из командной строки и запускать другие приложения из тестового проекта, такие как калькулятор Windows или блокнот. Мне кажется, что это NET-приложение каким-то образом обнаруживает тестовую среду и хочет в ней участвовать. Если это правда, как я могу это предотвратить? Мне просто нужно, чтобы это приложение (и еще несколько, все из которых являются NET-приложениями) работало мирно.
Я пишу тестовый проект для приложения MFC, используя Microsoft::VisualStudio::CppUnitTestFramework, с одним шагом для проверки сквозной интеграции указанного приложения со всеми внешними сторонами ( SQL Server и другие объекты). Мне нужно запустить и контролировать ряд внешних процессов, с которыми будет взаимодействовать это приложение MFC. Одно из этих внешних приложений использует платформу dot NET v4.0.30319. Когда я пытаюсь запустить эту утилиту с помощью ShellExecute() или CreateProcess(), происходит сбой с сообщением ниже:
Не удалось загрузить файл или сборку 'Microsoft.VisualStudio.CodeCoverage.Shim, версия = 15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' или один из его зависимости.
И это несмотря на то, что я могу запускать утилиту напрямую из командной строки и запускать другие приложения из тестового проекта, такие как калькулятор Windows или блокнот. Мне кажется, что это NET-приложение каким-то образом обнаруживает тестовую среду и хочет в ней участвовать. Если это правда, как я могу это предотвратить? Мне просто нужно, чтобы это приложение (и еще несколько, все из которых являются NET-приложениями) работало мирно.
Мобильная версия