我的解决方案有多个项目,彼此有内部参考。项目名称DataAccess引用Objects项目。在我的NANT脚本中,我首先编译成功的Objects文件夹,然后当我尝试编译DataAccess项目时,我得到程序集引用错误,如下所示;
错误CS0246:类型或命名空间名称“CustomerProfile”找不到(?是否缺少使用指令或程序集引用)
CustomerProfile Class是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:名称空间''中没有类型或命名空间名称'Objects'(你错过了程序集引用吗?)
这证实了汇编引用应该按照我在上面的代码片段中给出的方式给出。但是我不明白,如果组装参考是正确完成的,那么带有该组件的类('CustomerProfile')怎么没有被拿起
任何人都可以帮忙吗?
答案 0 :(得分:0)
在前同事的帮助下解决了问题。在参考部分中,应该提到到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>