我等好久没有人回答这个问题,也许你能回答我!

HNU 2003-10-16 08:09:52
我一个ll.cs

内容为:

using System;

public class mydll
{

public const int max=50;

}


csc /t:library ll.cs 编译后保存为d:\ll.dll


//////////////////////////////////////////

一个app.cs

也保存在d:\

内容为:

using System;
using ll.dll;


class myapp
{
static void Main()
{
Console.WriteLine("最大为" + mydll.max);

}

}

csc app.cs 编译时说“找不到类型或命名空间ll”...


//////////////////////////


为什么啊?
...全文
52 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjie1234 2003-10-18
  • 打赏
  • 举报
回复
你那个字段不是static ,是不是要实例化后才能有用
donger2000 2003-10-18
  • 打赏
  • 举报
回复
虽然你不在相信我,但我还是要帮你!我已经调试成功的方案:
文件内容:
ll.cs:

using System;
namespace Mylib
{
public class mydll
{

public const int max=50;

}
}

app.cs:

using System;
using Mylib;


class myapp
{
static void Main()
{
Console.WriteLine("The max = " + mydll.max);

}

}


编译命令:

csc /t:library ll.cs

csc /reference: ll.dll app.cs

经过上两句,产生了app.exe

app

命令行提示:

The max = 50

为要把“最大为”什么改英文呢?是因为我的命令行下中文提示显示为乱码!
HNU 2003-10-18
  • 打赏
  • 举报
回复
上面是误敲回车了,更正:
我一个ll.cs

内容为:

using System;

public class mydll
{

public const int max=50;

}


csc /t:library ll.cs 编译后保存为d:\ll.dll

//////////////////////////////////////////

一个app.cs

也保存在d:\

内容为:

using System;
using ll.dll;


class myapp
{
static void Main()
{
Console.WriteLine("最大为" + mydll.max);

}

}

执行 csc /reference: ll.dll app.cs

报错:缺少对 /reference 命令行选项的文件规范;
d:\ll.dll是二进制文件,而非源代码文件;
源文件ll.dll未能打开;

还是不行啊?
HNU 2003-10-18
  • 打赏
  • 举报
回复
我一个ll.cs

内容为:

using System;

public class mydll
{

public const int max=50;

}


csc /t:library ll.cs 编译后保存为d:\ll.dll


//////////////////////////////////////////

一个app.cs

也保存在d:\

内容为:

using System;
using ll.dll;


class myapp
{
static void Main()
{
Console.WriteLine("最大为" + mydll.max);

}

}

csc app.cs 编译时说“找不到类型或命名空间ll”...

Bengnangua 2003-10-18
  • 打赏
  • 举报
回复
VS 中 加入项目引用, 在用 命名空间就可可以了
同意楼上的, 命令行的 一次看 C#的书 用的全是指令, 晕
donger2000 2003-10-18
  • 打赏
  • 举报
回复
好,不过我建议你还是用VS自身的开发环境来写程序比较好,如果你的程序写大了,用它自己的解决方案/项目 管理方式去写程序,会方便一些,命令行编译必竟很累人!
HNU 2003-10-18
  • 打赏
  • 举报
回复
TO : donger2000(东东)

谢谢,我没有不相信任何人。看你的代码后,我明白自己以前错在哪里了,对你的认真回答我表示感谢!
Lorenes 2003-10-17
  • 打赏
  • 举报
回复
在我初学程序的时候,十分渴望有人能指点我....

现在多好啊,有CSDN这样一个大家园,大家可以充分交流. 好好珍惜吧.
donger2000 2003-10-17
  • 打赏
  • 举报
回复
用命令行编译,我也不熟悉:(
你用VSS自身的开发环境吧,在哪里写app.cs,并在它的项目中添加对那个DLL文件的引用
Lorenes 2003-10-17
  • 打赏
  • 举报
回复
你很好学,

我这里有分.给你些好了.

你的问题我看了.非常简单.

在 csc.exe 编译的时候调用一下那个DLL就行了.
/reference:bbb.dll

不过建议你用模块更稳定些!

/addmodule:abc.mob

不懂就好好看看 csc.exe /?

ruanyuping 2003-10-17
  • 打赏
  • 举报
回复
错了,正确是
csc /reference:11.dll app.cs
ruanyuping 2003-10-17
  • 打赏
  • 举报
回复
csc /t:library /reference:11.dll app.cs
HNU 2003-10-16
  • 打赏
  • 举报
回复
至少要先引用DLL之后才能识别其中的NAMESPACE 啊

我明天再来up!
HNU 2003-10-16
  • 打赏
  • 举报
回复
楼上的我试了,不可以,不识别 Mylib
donger2000 2003-10-16
  • 打赏
  • 举报
回复
using ll.dll;
using 后面一般是跟命名空间的呀,
你要给mydll一个命名空间,然后要在App中引用:


ll.cs:

using System;
namespace Mylib
{
public class mydll
{

public const int max=50;

}
}




app.cs:

using System;
using Mylib;


class myapp
{
static void Main()
{
Console.WriteLine("最大为" + mydll.max);

}

}

yljzero 2003-10-16
  • 打赏
  • 举报
回复
你没有引用这个动态库吧。
在引用处右击引用这我动态库。
HNU 2003-10-16
  • 打赏
  • 举报
回复
是不是嫌没分啊?

我只有30分可以用了,555~~~

答了定给啊!

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧