【问题标题】:Missing partial modifier on declaration of type x; another partial declaration of this type exists声明类型 x 时缺少部分修饰符;存在此类型的另一个部分声明
【发布时间】:2011-12-16 11:22:21
【问题描述】:

我在 Visual Studio 2010 中创建了一个空的 Web 应用程序项目,并添加了以下模型类:

namespace MessageTest
{
    public class Message
    {
        private String msg;

        public Message(String m)
        {
            this.msg = m;
        }

        public String getMessage()
        {
            return this.msg;
        }

        public void setMessage(String m)
        {
            this.msg = m;
        }

        public bool isEmpty()
        {
            return (this.msg.Length == 0);
        }
    }
}

一个非常简单的模型类.....但是我在尝试构建时不断收到以下错误:

“MessageTest.Message”类型的声明缺少部分修饰符;此类型的另一个部分声明存在 c:\users\d\documents\visual studio 2010\Projects\MessageTest\MessageTest\Message.cs

编辑:这是我使用类的地方:

namespace MessageTest
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Submit_Click(object sender, EventArgs e)
        {
            Message m = new Message(UserMessage.Text);

            if (m.isEmpty())
            {
                //alert user
            }
            else
            {
                //submit data
                SubmitData(m);
            }


        }

        private void SubmitData(Message msg)
        {
            //submit the data to database    
            var dataContext = new DataClasses1DataContext();


        }
    }
}

编辑:

我的 .dbml 中有一个名为 Messages 的表:

消息
ID (PK) int(10) auto_inc
消息 varchar (100)

这可能是问题吗?

【问题讨论】:

  • 似乎您在解决方案中存在另一种具有相同名称的 Message 类型。在整个解决方案中搜索Message
  • 我尝试将类名更改为其他名称,但仍然出现相同的错误
  • 你搜索过你的整个项目吗?您可以在尝试创建此消息的实例的位置发布代码吗?
  • 从错误描述中我可以说包含同一项目的另一个副本。从当前项目中排除并删除该副本。
  • 你在使用 WCF 吗?您是否使用了 SvcUtil.exe 工具?

标签: c# asp.net visual-studio visual-studio-2010 web-applications


【解决方案1】:
namespace MessageTest
{
    public class Message
    {

改成

namespace MessageTest
{
    public partial class Message
    {

“MessageTest.Message”类型的声明缺少部分修饰符

【讨论】:

    【解决方案2】:

    我无法重现此问题。尝试在非默认位置(例如 D:驱动器)创建一个新项目并检查。希望它可以解决问题。

    【讨论】:

      【解决方案3】:

      我不知道我的回答是否完全适用于您的问题。

      当我开发网站或网络应用程序时,有时会遇到意想不到的错误,有时肯定无法通过每次检查您的代码来解决。

      所以我在再次查看代码之前遵循以下模式 -

      1. 由于所有已编译的网站都在 Temporary ASP.NET 目录中,因此请从那里删除所有文件和文件夹。在我的 .NET Framework 4.0 系统上,路径是 - C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 这是因为存在预编译的不同副本不同文件夹中的相同类,它们有时会发生冲突问题。

      2. 删除 我的文档中的 Visual Studio 2010 文件夹。

      ** 最后对于您的情况,更改文件名并重建它。它将创建新的编译文件并主要解决问题。

      【讨论】:

        【解决方案4】:

        我的项目中遇到过类似的问题。 我已经添加了部分

        public partial class Form1 : Form
        

        它解决了我的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-02
          • 1970-01-01
          • 2013-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多