问题:当基类从另一个程序集实现接口时,Windows窗体设计器不适用于继承的用户控件.
平台:VS 2010 SP1,.NET 4.0 Framework
错误:
无法为此文件显示设计器,因为其中的所有类都无法设计.设计者检查了文件中的以下类:MyControl ---无法加载基类'MyBaseControlLib.MyBaseControl'.确保已引用程序集并且已构建所有项目.
在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)的System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)的System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)中在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
我有一个包含3个类库项目的解决方案:
MyInterfaceLib:
namespace MyInterfaceLib
{
public interface IMyInterface
{
void Foo();
}
}
Run Code Online (Sandbox Code Playgroud)
MyBaseControlLib:
namespace MyBaseControlLib
{
using System.Windows.Forms;
using MyInterfaceLib;
public partial class MyBaseControl : UserControl, IMyInterface
{
public MyBaseControl()
{
InitializeComponent();
}
public void Foo()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
MyDerivedLib:
namespace MyDerivedControlLib
{
using MyBaseControlLib;
public partial class MyControl : MyBaseControl
{
public MyControl()
{
InitializeComponent();
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然设计师适用于MyBaseControl但它不适用于MyControl.如果MyBaseControl没有实现IMyInterface,那么设计器也适用于MyControl.
有任何想法吗?
谢谢,罗伯特
我对TFS 2010工作项的配置有一个奇怪的问题.似乎不可能在字段的允许值集合中更改字符的大小写,例如将"Works for me"更改为"Works For Me".每个其他字符串例如"Works For Me 123"都有效.
即使我尝试首先将名称更改为另一个字符串(因为我知道Visual Studio项目中的文件类似的问题),它只是不接受大写版本并始终返回小写字符串.
背景资料:
我们有一个自定义WIT文件来定义"Bug"工作项.这包括"已解决的原因"字段的允许值的定义.最初我们的列表包含小写单词,例如"为我工作".由于我们希望将TFS工作项与HP Quality Center同步,因此我们现在需要完全匹配状态名称.
所需版本:
<FIELD name="Resolved Reason" refname="Microsoft.VSTS.Common.ResolvedReason" type="String" reportable="dimension">
<HELPTEXT>The reason why the bug was resolved</HELPTEXT>
<ALLOWEDVALUES expanditems="true">
<LISTITEM value="Duplicate" />
<LISTITEM value="Fixed" />
<LISTITEM value="Wont Fix" />
<LISTITEM value="Invalid" />
<LISTITEM value="Works For Me" />
<LISTITEM value="Forwarded" />
</ALLOWEDVALUES>
</FIELD>
Run Code Online (Sandbox Code Playgroud)
实际版本:
<FieldDefinition reportable="dimension" refname="Microsoft.VSTS.Common.ResolvedReason" name="Resolved Reason" type="String">
<ALLOWEDVALUES>
<LISTITEM value="Duplicate" />
<LISTITEM value="Fixed" />
<LISTITEM value="Wont fix" />
<LISTITEM value="Invalid" />
<LISTITEM value="Works for me" /> …Run Code Online (Sandbox Code Playgroud)