小编Rob*_*ahn的帖子

VS2010:如何在使用继承的用户控件时避免Windows窗体设计器问题?

问题:当基类从另一个程序集实现接口时,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.

有任何想法吗?

谢谢,罗伯特

designer visual-studio-2010 winforms

6
推荐指数
1
解决办法
4902
查看次数

如何在TFS工作项字段定义(WIT)中更改大写/小写?

我对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)

tfs workitem tfs2010

5
推荐指数
1
解决办法
1178
查看次数

标签 统计

designer ×1

tfs ×1

tfs2010 ×1

visual-studio-2010 ×1

winforms ×1

workitem ×1