Проблема 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, она будет работать в любой из этих версий.
добавьте это в свое приложение.config если вы хотите сохранить таргетинг на .NET 4:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Это позволит поддерживать загрузку сборок смешанного режима (в основном сборок C++/CLI, содержащих как неуправляемый, так и управляемый код), построенных для более старой версии платформы.
Как упоминал Жюльен, вам нужно добавить код совместимости в приложение вашего проекта.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