SharpSVN и C# Проблема
При попытке добавить SharpSVN в мой проект на C# компиляция с помощью вызовов, связанных с SharpSVN, выдает мне эту ошибку:
Исключение FileLoadException было необработанным Сборка в смешанном режиме выполняется на основе версии v2.0.50727 среды выполнения и не может быть загружена во время выполнения 4.0 без дополнительной информации о конфигурации.
Что я сделал, так это добавил ссылки из скачанного zip-файла SharpSVN и добавил
using SharpSvn;
Когда я компилирую это работает нормально, но когда я добавляю:
string targetPath = "https://bobl/svn/ConsoleApplication1";
SvnTarget target;
SvnTarget.TryParse(targetPath, out target);
Это ломается с этой ошибкой. Я искал эту ошибку и не смог найти решение.
3 ответа
Сборка SharpSVN представляет собой смешанную сборку, созданную в соответствии с версией 2.0 CLR.
Следовательно, он не может быть загружен в CLR версии 4.0.
Вам нужно изменить свой проект на целевой.Net 3.5 (или более раннюю) в свойствах проекта.
Поскольку.Net 2.0, .Net 3.0 и.Net 3.5 все используют версию 2.0 CLR, она будет работать в любой из этих версий.
Добавьте это в ваш app.config, если вы хотите продолжать ориентироваться на.NET 4:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Это включит поддержку загрузки сборок смешанного режима (в основном сборок C++/CLI, содержащих как неуправляемый, так и управляемый код), созданных для более старой версии платформы.
Как сказал Жюльен, вам нужно добавить код совместимости в app.config или web.config вашего проекта:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Это все хорошо, но если у вас возникла эта проблема с тестовым прогоном (например, MSTest) внутри Visual Studio, вам действительно нужно внести это изменение в файл конфигурации тестового бегуна.
Я написал пост об этой самой проблеме в VS 2012:
В Visual Studio 2012 необходимо добавить код запуска в следующий файл:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.executionengine86.exe.config