2015-03-15 6 views
0

У меня есть следующие настройки:МС Подделка загрузки сборки не удается только в MSBuild

Solution N1 -> .net 3.5, Ninject 2.2 
Solution N2 -> .net 4.5.2, Ninject 3.2 

Я добавил проект от Solution N1 до N2 раствора, а затем сгенерированные подделки для проекта, который использует Ninject 2.2. In vs, поколение подделок преуспевает. В MSBuild (и в TeamBuild) я получаю следующее сообщение об ошибке:

C:\Somepath\Fakes\SomeProj.fakes: assembly C:\Somepath\SomeProj.dll failed to load properly Could not resolve assembly 'Ninject, Version=2.2.0.0, Culture=neutral, PublicKeyToken=6b7e450ec5ed63ad'. Are you missing an assembly reference? 

Так что мои тесты не работают на сборке, даже если я выбрал против теста бегуна (не MSBuild) для выполнения тестов.

К сожалению, я не могу обновить Ninject в решении N1 по некоторым внешним причинам. В приложении приложение работает, так как у меня есть Ninject, переназначенный до 3.2.0.0, и он работает.

Любая идея, как сделать подделки либо загрузить 3.2.0.0 (без ссылок в SomeProj), либо просто игнорировать этот код? (Я попробовал указать окуни и прокладки, которые мне нужны явно, такая же ошибка в MsBuild).

ответ

0

Так что я сделал в конце концов, это добавить старый Ninject в репозиторий, а затем ссылаться его следующим образом внутри .fakes файла:

<Compilation> 
    <Reference Path="RelativeToCsProjFolder\Ninject.dll" FullName="Ninject, Version=2.2.0.0, Culture=neutral, PublicKeyToken=6b7e450ec5ed63ad"/> 
    </Compilation> 

Что у меня немного был относительный синтаксис пути в этом направлении ,

 Смежные вопросы

  • Нет связанных вопросов^_^