已知类型不足以包含

时间:2013-10-30 14:53:55

标签: c# .net tfs compiler-construction attributes

为什么在C#中使用KnownType属性不足以包含DLL?使用负责构建的TFS的Visual Studio 2012,我正在一个项目中,服务需要使用此属性,如下所示:

using Project.That.Contains.RequiredClassName;

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, Namespace="SomeNamespace")]
[KnownType(typeof(RequiredClassName))]
public class Service : IService { }

但是要将所需的DLL包含在bin输出中,因此我们的生成版本中包含了安装程序,我必须将以下内容添加到Service的构造函数中:

public Service() { 
    // Exists only to force inclusion
    var ignore = new RequiredClassName();
}

因此,假设包含RequiredClassName的项目本身由包含Service的项目引用,为什么不使用KnownType属性足以在输出中包含DLL?

0 个答案:

没有答案