У меня есть следующая цель NANT CSC для построения winexe:
<csc target="winexe" output="${Deploy.dir}\VMIS.exe" debug="${debug}">
<sources>
<include name="${App.dir}\**\*.cs" />
<include name="${Build.dir}\AssemblyInfo.cs" />
<exclude name="${App.dir}\**\AssemblyInfo.cs" />
</sources>
<references refid="Lib.fileset">
</references>
...
</csc>
Ниже приводится сообщение об ошибке:
D:\..\myClass.cs(9,17): error CS0234: The type or namespace name 'Reporting'
does not exist in the namespace 'Microsoft' (are you missing an assembly
reference?)
В myClass.cs у меня это по ссылке:
using Microsoft.ReportViewer.WinForms;
Нет проблем с созданием моего приложения в VS, но я не смог собрать из NANT. Я думаю, что я могу пропустить ссылку на Microsoft.ReportViewer.WinForms.dll в сборке NANT. Не знаете, как я могу включить эту DLL в мою корзину для NANT?
Я пытался изменить ссылки на цели csc:
<csc ...>
...
<references refid="Lib.fileset">
<include name="Microsoft.ReportViewer.Common.dll" />
<include name="Microsoft.ReportViewer.WinForms.dll" />
</references>
...
</csc>
Все еще не работает. Должен ли я использовать COPY target для копирования всех файлов DLL из bin в $ (build.dir)?
Обновления : Я обнаружил, что эти файлы Microsoft.ReportViewer.xx.dll в ссылках на проекты не копируются в локальные. Как я могу имитировать копирование в локальный в NANT для этих двух файлов DLL? Я предполагаю, что это может решить проблему, поскольку NANT является приложением для сборки в консоли и не обладает знаниями о ссылках в глобальном кэше.