Я новичок в NAnt и пытаюсь настроить файл сборки для создания нескольких проектов .Net 4.0 и запускать некоторые тесты NUnit. Один из проектов содержит модель данных и контекст EF4.0, и я столкнулся с проблемой, что, хотя ссылка System.Data.Entity.dll включена в конфигурацию NAnt, ни один из содержащихся в ней классов System.Data находятся в сборке (System.Data.EntityClient, System.Data.Objects и т. д.). Я использую NAnt 0.91 Alpha 2. Кто-нибудь еще сталкивается с этим или имеет какое-либо представление о том, как обойти его? Создайте файл ниже.NAnt и System.Data.Entity.dll
Спасибо.
<?xml version="1.0" encoding="utf-8" ?>
<project name="ClinicalModel">
<property name="src.dir" value="" />
<property name="output.dir" value="bin/debug" />
<property name="entitysrc" value="..\Entities" />
<property name="debug" value="true" overwrite="false" />
<property name="nant.settings.currentframework" value="net-4.0" />
<property name="framework-get-assembly-directory" value="${framework::get-assembly-directory('net-4.0')}" />
<property name="dotNetReferenceAssemblyPath" value="${framework-get-assembly-directory}\" />
<target name="clean" description="clean up already built files">
<delete file="${output.dir}/Entities.dll" failonerror="false" />
<delete file="${output.dir}/Model.dll" failonerror="false" />
</target>
<target name="build_entities" description="build entities">
<csc target="library" output="${output.dir}\Entities.dll" debug="${debug}">
<sources basedir="${entitysrc}">
<include name="**/*.cs" />
</sources>
</csc>
</target>
<target name="build" depends="build_entities" description="build model">
<csc target="library" output="${output.dir}\Model.dll" debug="${debug}">
<sources>
<include name="**\*.cs" />
</sources>
<references basedir="${output.dir}">
<include name="**\*.dll" />
</references>
</csc>
</target>
</project>
Это не отвечает на ваш вопрос, но мне интересно узнать, почему вы на самом деле делаете здание с NAnt. Я всегда использовал NAnt, чтобы делать множество вещей (Build, FxCop, NUnit, перемещать встроенные файлы и т. Д.), Но для фактического построения я запускаю соответствующую версию msbuild в файле решения. Было слишком больно иметь хорошие файлы sln и csproj, но затем игнорировать их и в основном их воспроизводить в сценарии NAnt. Я что-то упускаю? Я могу отправить образец кода, если вы хотите пройти этот маршрут. –
Мы пытаемся интегрироваться с Atlassian Bamboo, который, похоже, не очень хорошо поддерживает MSBuild. Сначала я попытался использовать расширение msbuild для NAnt (NAntContrib), но имел некоторые другие перерывы в том, что из-за того, что некоторые шаблоны T4 не обрабатываются должным образом. Кроме того, мы действительно пытаемся протестировать наш слой данных таким образом, и это решение содержит веб-проекты и проекты веб-сервисов, которые не нужно строить для модульного тестирования, поэтому мы действительно заинтересованы только в 4 из 11 проектов в решение. – JMorgan