【发布时间】:2015-05-05 06:53:02
【问题描述】:
我有一个 DLL 文件。使用 DLL,我必须调用方法并在我的项目中添加更多方法。现在,我需要迁移旧的 DLL 以将该项目作为新的 DLL。我这样做了但问题是 C# 代码被转换为 net 模块它显示两个错误。我不清楚。请帮我解决这个问题。
DLL 代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace mcMath
{
public class mcMathComp
{
private bool bTest = false;
public mcMathComp()
{
// TODO: Add constructor logic here
}
/// <summary>
/// //This is a test method
/// </summary>
public void mcTestMethod()
{ }
public long Add(long val1, long val2)
{
return val1 - val2;
}
/// <summary>
/// //This is a test property
/// </summary>
public bool Extra
{
get
{
return bTest;
}
set
{
bTest = Extra;
}
}
}
}
CS 项目:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using mcMath;
namespace mcClient
{
class Program
{
static void Main(string[] args)
{
mcMathComp cls = new mcMathComp();
long lRes = cls.Add(23, 40);
cls.Extra = false;
Console.WriteLine(lRes.ToString());
Console.ReadKey();
}
}
}
错误:
Program.cs(5,7):错误 CS0246:找不到类型或命名空间名称“mcMath”(您是否缺少 using 指令或程序集引用?)
尝试过的方法:
- 我将通过 Project-> Add Reference 添加引用。
- 还使用了 using 参考。
- 将 DLL 放入当前项目的调试/发布文件夹中
【问题讨论】:
-
对包含“Add”方法的 DLL 的引用是否显示在项目的引用列表中?它旁边有一个带有感叹号的黄色三角形吗?
-
你能显示调用
Add的代码吗?您不能只使用Add本身(除非您使用 C# 6 静态使用和静态方法) -
#Soner Gonul, Yes Dude, 方法可以查看。该项目可能会清理和构建而不会出现错误。但是我把CS文件做成了一个Net模块,就出现了上面的错误。
-
@irreal 这不是编译器会发出的消息,即使 是 的情况;我不认为失败的代码是 OP 认为的......
-
这只是让我们回到错误的参考。您显然没有对“Dll 代码”项目的有效引用。你编译过库吗?仔细检查“CS 项目”中是否有对它的引用从添加引用对话框的“解决方案”选项卡中添加它。请注意,您必须选中名称旁边的复选框,而不仅仅是在列表中选择该项目并单击确定。还要仔细检查引用的文件是否实际显示在“CS 项目”的“参考”下的解决方案资源管理器中
标签: c# .net dll netmodules