我有以下代码可以在Visual Studio 2010上成功构建。VisualStudio 2017上的相同代码会产生以下生成错误:
严重性代码描述项目文件行抑制状态 错误CS0012在未引用的程序集中定义了“声明”类型。您必须添加对程序集'System.IdentityModel,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用。 ConsoleApp1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
System.ServiceModel.DnsEndpointIdentity dns = new System.ServiceModel.DnsEndpointIdentity("test");
}
}
}
任何人都可以帮助我理解为什么我需要向该项目添加System.IdentityModel引用吗?我仅将DnsEndpointIdentity与string参数一起使用。为什么VS 2017不会自动将System.IdentityModel包含在System.ServiceModel命名空间中?这是VS 2017的错误吗?
DnsEndpointIdentity类具有以下属性
公共DnsEndpointIdentity(字符串dnsName);
公共DnsEndpointIdentity(System.IdentityModel.Claims.Claim身份);