Ошибка сборки ссылки при компиляции проекта C # с использованием NANT даже после предоставления ссылки - PullRequest
1 голос
/ 07 апреля 2011

Мое решение имеет несколько проектов с внутренней ссылкой друг на друга.Название проекта Ссылка на DataAccess Объект проекта.В моем сценарии NANT я сначала компилирую папку Objects, которая успешно выполняется, а затем, когда я пытаюсь скомпилировать проект DataAccess, я получаю ошибку ссылки на сборку, как показано ниже;

ошибка CS0246: имя типа или пространства имен 'CustomerProfile' можетне найден (вам не хватает директивы using или ссылки на сборку?)

Класс CustomerProfile является частью проекта Objects, и я четко упоминаю ссылку в NANT, как показано ниже;

<csc target="library" output="${OutputFolder}\bin\Objects.dll" debug="${debug}">
    <references />
    <sources basedir="${SourceCodeFolder}">
        <include name="Objects\\**\*.cs" />
    </sources>
</csc>
<csc target="library" output="${OutputFolder}\bin\DataAccess.dll" debug="${debug}" >
    <references>
        <lib>
            <include name="${OutputFolder}\bin" />
        </lib>
        <include name="Objects.dll" />
    </references>
    <sources basedir="${SourceCodeFolder}">
        <include name="DataAccess\\**\*.cs" />
    </sources>
</csc>  

Странно, если я удаляю <include name="Objects.dll" /> из справочного раздела, я получаю ошибку ниже;

ошибка CS0234: имя типа или пространства имен 'Объекты' не существует в пространстве имен '' (отсутствует ссылка на сборку?)

Что подтверждает, что ссылки на сборку должны быть заданы с учетомкак я дал в приведенном выше фрагменте кода.Но я не понимаю, что если ссылка на сборку выполнена правильно, то почему класс ('CustomerProfile'), в котором эта сборка не используется,

Может ли кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 07 апреля 2011

Получил решение проблемы с помощью моего бывшего коллеги. В разделе ссылок должен быть указан полный путь к dll. Ниже фрагмент кода после исправления;

<csc target="library" output="${OutputFolder}\bin\DataAccess.dll" debug="${debug}" >
    <references>
        <include name="${OutputFolder}\bin\Objects.dll" />
    </references>
    <sources basedir="${SourceCodeFolder}">
        <include name="DataAccess\\**\*.cs" />
    </sources>
</csc>
...