У меня есть веб-приложение .NET 3.5, и я добавляю Silverlight 4. Я могу собрать и протестировать весь проект в VS 2010. Мои сборки все еще нацелены на 3.5.Мне пришлось обновить NAnt с .85 до .91-alpha2, чтобы сборка работала вообще, и мне пришлось использовать вызов msbuild v4.0.30319 вместо задачи NAnt.Теперь все работает (хотя, если у кого-то есть предложения по улучшению, я открыт для них).
После сборки NAnt запускает юнит-тесты.Моя проблема состоит в том, что это немедленно терпит неудачу, потому что NUnit не может найти правильный log4n.dll.Вывод ниже (elipses добавлен, чтобы запутать некоторые имена папок).NAnt использует log4n 1.2.9, а NUnit использует 1.2.10.Каждое приложение имеет правильную версию в своем каталоге установки.NAnt загружает свою версию, которая используется при запуске NUnit, но я не понимаю, почему возникает конфликт.Я подозреваю, что проблема связана с NAnt .91-alpha2, и я не могу придумать обходного пути.
[exec] Unhandled Exception:
[exec] System.TypeInitializationException: The type initializer for 'NUnit.Core.RemoteTestRunner' threw an exception.
---> System.IO.FileNotFoundException: Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821'
or one of its dependencies. The system cannot find the file specified.
[exec] File name: 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821'
[exec] at NUnit.Core.RemoteTestRunner..cctor()
[exec]
[exec] Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
[exec] Running under executable C:\Program Files\NUnit 2.4.6\bin\nunit-console.exe
[exec] --- A detailed error log follows.
[exec]
[exec] === Pre-bind state information ===
[exec] LOG: User = ...
[exec] LOG: DisplayName = log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821
[exec] (Fully-specified)
[exec] LOG: Appbase = file:///c:/AutomatedBuild/sourcecode/.../bin/Debug
[exec] LOG: Initial PrivatePath = NULL
[exec] Calling assembly : nunit.core, Version=2.4.6.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77.
[exec] ===
[exec] LOG: This bind starts in default load context.
[exec] LOG: No application configuration file found.
[exec] LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
[exec] LOG: Post-policy reference: log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821
[exec] LOG: Attempting download of new URL file:///c:/AutomatedBuild/sourcecode/.../bin/Debug/log4net.DLL.
[exec] LOG: Attempting download of new URL file:///c:/AutomatedBuild/sourcecode/.../bin/Debug/log4net/log4net.DLL.
[exec] LOG: Attempting download of new URL file:///c:/AutomatedBuild/sourcecode/.../bin/Debug/log4net.EXE.
[exec] LOG: Attempting download of new URL file:///c:/AutomatedBuild/sourcecode/.../bin/Debug/log4net/log4net.EXE.
[exec]
[exec] --- End of inner exception stack trace ---