【发布时间】:2011-12-25 19:20:18
【问题描述】:
我的项目的 main.cs 返回以下警告:
警告 1 'PATH\Extensions.cs' 中的类型 'Extensions.MessageDetails' 与 'path\lib.dll' 中导入的类型 'Extensions.MessageDetails' 冲突。使用“path\Extensions.cs”中定义的类型。路径\main.cs
我的项目有什么问题?如何摆脱警告?
我的项目代码结构如下:
Extensions.cs
namespace Extensions
{
public class MessageDetails
{
public string message { get; set; }
public string link { get; set; }
public string picture { get; set; }
public string name { get; set; }
public string caption { get; set; }
public string description { get; set; }
public string userid { get; set; }
public string username { get; set; }
public object actions { get; set; }
public object privacy { get; set; }
public object targeting { get; set; }
}
}
lib.dll
namespace MyClassLib {
public class MyClassLibFoo {
public void foo(MessageDetails parameters) {
/* .. */
}
}
}
main.cs
using MyClassLib;
using Extensions;
class Program
{
static void Main(string[] args)
{
MessageDetails md = new MessageDetails();
}
}
【问题讨论】:
-
您的扩展类是否有两份副本(一份打包在您的 dll 中,一份在您的主程序中)?
-
是的,我需要在命名空间
Extensions类中使用MessageDetails.. -
那是你的问题,他们都需要引用同一个。尝试将其添加到类库中以执行此操作。
-
这发生在我在 Visual Studio 2015 的一个古老的 webforms 项目中,这样 App_Code 中的代码被编译了两次,这使得它变得模棱两可。
标签: c# .net types namespaces