即使存在“使用InteropServices”,也会丢失DLLImport

时间:2012-09-03 08:40:33

标签: c# dll

我有以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MapsApp.DB;

namespace MapsApp
{
    public partial class _Default : System.Web.UI.Page
    {
        [DLLImport("GeoUrbanApp.exe")]
        public static extern double CalcFigure(double east, double north, double size);
...

我试图从.exe调用CalcFigure函数。我在引用中添加了它,并尝试导入它。我得到的只是:

The type or namespace name 'DLLImport' could not be found (are you missing a using directive or an assembly reference?)

The type or namespace name 'DLLImportAttribute' could not be found (are you missing a using directive or an assembly reference?)

大多数人在网上找到的解决方案是“使用System.Runtime.InteropServices;”但我知道了。

2 个答案:

答案 0 :(得分:56)

尝试添加“using System.Runtime.InteropServices;”到你的班级, 这是DllImportAttribute所在的命名空间。

Razie

答案 1 :(得分:30)

DllImport而非DLLImport

:)