日期:2014-05-19  浏览次数:20888 次

实在没办法,最后再发一帖求助(100分,完美解决再给100)
我有个CS文件要编译成DLL文件
但一直都不成功,网上资料我都看过了,也试了好多次。
自己现在真是没办法才来求助。

情况是无论在命令行还是在.net2003里编译该CS文件都提示同一个文件命名空间找不到,

在.net2003中,我先创建了一个类库项目,把CS文件缺的命名空间引用进去,编译撕毁又提示找不到另一个命名空间,我再把他引用进去。直到有一个命名空间我找不到在哪。没法引用。还同时提示有一个命名空间“已在多处定义”

我是个新手,第一次次就遇上这样的问题
现在真的是感到无奈和无助。
请哪位好心人帮下我。

能帮我远程协助更好!
教会我了,要多少分都行。

我QQ:153424190
MSN:YJDP0918@hotmail.com

------解决方案--------------------
贴出类来...
------解决方案--------------------
贴出类来...
------解决方案--------------------
参看
http://blog.csdn.net/tjvictor/archive/2006/12/13/1441698.aspx
中关于编译dll的部分
十五 /lib 指定通过 /reference 引用的程序集的位置
/lib:dir1[, dir2]
其中:
dir1
在当前工作目录(调用编译器的目录)或公共语言运行库的系统目录中未找到引用的程序集时,编译器将在其中进行查找的目录。
dir2
要在其中搜索程序集引用的一个或多个附加目录。用分号分隔附加的目录名。
备注
/lib 选项指定通过 /reference 选项引用的程序集的位置。
编译器按以下顺序搜索未完全限定的程序集引用:
当前工作目录。该目录为从其调用编译器的目录。
公共语言运行库系统目录。
由 /lib 指定的目录。
由 LIB 环境变量指定的目录。
使用 /reference 指定程序集引用。
/lib 是累加的;多次指定它可将新的指定追加到任何先前指定的值上。
另一种使用 /lib 的方法是将任何所需的程序集复制到工作目录;这使您得以仅将程序集名称传递给 /reference。然后可以从工作目录中删除这些程序集。由于程序集清单中未指定依赖程序集的路径,因此应用程序可以在目标计算机上启动,然后查找并使用全局程序集缓存中的程序集。
示例
编译 t2.cs 以创建 .exe 文件。编译器将在工作目录和驱动器 C 上根目录中查找程序集引用。
csc /lib:c:\ /reference:t2.dll t2.cs

------解决方案--------------------
LZ
看懂了 tjvictor(终于升星了,向两星奋斗)
的说明,你就应该可以做好了.也不用通宵了.


UP
------解决方案--------------------
参看
http://blog.csdn.net/tjvictor/archive/2006/12/13/1441698.aspx
中关于编译dll的部分
十五 /lib 指定通过 /reference 引用的程序集的位置
/lib:dir1[, dir2]
其中:
dir1
在当前工作目录(调用编译器的目录)或公共语言运行库的系统目录中未找到引用的程序集时,编译器将在其中进行查找的目录。
dir2
要在其中搜索程序集引用的一个或多个附加目录。用分号分隔附加的目录名。
备注
/lib 选项指定通过 /reference 选项引用的程序集的位置。
编译器按以下顺序搜索未完全限定的程序集引用:
当前工作目录。该目录为从其调用编译器的目录。
公共语言运行库系统目录。
由 /lib 指定的目录。
由 LIB 环境变量指定的目录。
使用 /reference 指定程序集引用。
/lib 是累加的;多次指定它可将新的指定追加到任何先前指定的值上。
另一种使用 /lib 的方法是将任何所需的程序集复制到工作目录;这使您得以仅将程序集名称传递给 /reference。然后可以从工作目录中删除这些程序集。由于程序集清单中未指定依赖程序集的路径,因此应用程序可以在目标计算机上启动,然后查找并使用全局程序集缓存中的程序集。
示例
编译 t2.cs 以创建 .exe 文件。编译器将在工作目录和驱动器 C 上根目录中查找程序集引用。
csc /lib:c:\ /reference:t2.dll t2.cs
------------------------------------------
把这个看懂基本就OK了。
引用的时候程序首先在当前目录下找引用的DLL,它遵循一定原则。