这段代码需要什么名称空间? (C#)

时间:2009-06-29 21:14:14

标签: c#

Image Dummy = Image.FromFile("image.png");
Dummy.Save("image.bmp", ImageFormat.Bmp);

问题是什么

我有这些

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

但是我得到一个错误,说命名空间系统中不存在命名空间绘图:/

4 个答案:

答案 0 :(得分:8)

添加对System.Drawing的引用

当您使用using语句时,这可让编译器知道当您说Image时,您的确是System.Drawing.Image

但是,现在编译器需要知道System.Drawing的位置。默认情况下,在Visual Studio中,您可能已经引用了SystemSystem.DataSystem.Xml

现在你正在为System.Drawing写作。在项目浏览器中右键单击项目,然后选择“添加引用...”。这将为您提供一个选项卡式界面,您可以从中选择以下选项之一:

  • .NET参考。 GAC中的任何程序集都将在此处列出。向下滚动并选择System.Drawing,例如。
  • COM参考。用于与非.NET,但非常Windows组件接口。
  • 项目。一个Visual Studio精准。引用尚未构建的DLL。在同一解决方案中选择一个项目。编译之前的Intellisense。
  • 浏览(对于文件)。如果已经构建了.NET组件或具有导出定义的其他类型,则可以从此处引用DLL。

答案 1 :(得分:0)

添加“使用”只是等式的一部分。您还必须引用包含您要使用的代码的DLL。

例如,如果你在命名空间com.shuttleu.awesomelib下写一个很酷的库,我可以在我的C#文件的顶部有以下内容:

using com.shuttleu.awesomelib;

就其本身而言,这对我没有任何好处,我必须在我的项目中引用DLL(称为“程序集”)。您可以通过右键单击项目并选择“添加引用...”

来实现

答案 2 :(得分:0)

除了using语句之外,还需要在Visual Studio项目中添加System.Drawing DLL(称为“程序集”)作为引用。为此,在右侧的“解决方案资源管理器”窗格中(如果未打开,请转到“查看” - >“解决方案资源管理器”),右键单击“引用”,然后单击“添加引用”。在.NET选项卡(默认打开)中,向下滚动直到看到System.Drawing,选择它,然后单击OK。执行此操作后,System.Drawing应出现在解决方案资源管理器中的引用下,并且using语句现在将指向正确的DLL,因此您的代码将起作用。 :)

答案 3 :(得分:0)

“添加”使用“只是等式的一部分。您还必须引用包含您要使用的代码的DLL”

只是好奇 - 为什么我们必须为控制台应用程序做两件事,而在VB.Net网络应用程序中,文本“Imports System.Drawing”就足够了?