0

我不知道如何摆脱这个错误。我对 C# 很陌生,但请提供任何帮助。谢谢

错误:“ProjectServer.WebSvcLoginWindows”类型中不存在类型名称“LoginWindows”

源代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using ProjectServer.LoginForms;
using ProjectServer.Statusing;
using ProjectServer;
using System.Net;
using System.Threading;
using PSLibrary = Microsoft.Office.Project.Server.Library;
using System.Windows.Forms.MessageBox;
using System.Windows.Forms;

namespace ProjectServer
{
    public partial class LogonProjectServer : Form
    {
        public static WebSvcLoginWindows.LoginWindows loginWindows =
            new WebSvcLoginWindows.LoginWindows();
        public static CookieContainer cookies = new CookieContainer();

        public static WebSvcProject.LoginForms loginForms =
            new SyprisProjectServer.WebSvcProject.LoginForms();

        private const string LOGINFORMSWEBSERVICE = "/PWA/_vti_bin/PSI/LoginForms.asmx?wsdl";
        private const string LOGINWINDOWSWEBSERVICE = "/PWA/_vti_bin/PSI/LoginWindows.asmx?wsdl";
        private string baseUrl; // Example: http://ServerName/ProjectServer/

        public bool LogonPS(bool useWinLogon, string baseUrl, 
        string userName, string password)
    {
        const string LOGINWINDOWS = "PWA/_vti_bin/PSI/LoginWindows.asmx?wsdl";
        const string LOGINFORMS = "PWA/_vti_bin/PSI/LoginForms.asmx?wsdl";
        bool logonSucceeded = false;

        try
        {
            if (useWinLogon)
            {
                loginWindows.Url = baseUrl + LOGINWINDOWS;
                loginWindows.Credentials = CredentialCache.DefaultCredentials;
                if (loginWindows.Login()) logonSucceeded = true;
            }
        }
        // Catch statements
        catch (System.Web.Services.Protocols.SoapException ex)
        {
            MessageBox.Show(ex.Message.ToString(), "Logon Error", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        catch (System.Net.WebException ex)
        {
            MessageBox.Show(ex.Message.ToString(), "Logon Error", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        return logonSucceeded;
    }  
    }



}
4

2 回答 2

0

问题可能是由于创建 loginWindows 变量时类名 (LoginWindows) 或命名空间 (WebSvcLoginWindows) 不正确:

public static WebSvcLoginWindows.LoginWindows loginWindows = new WebSvcLoginWindows.LoginWindows();

确保命名空间和类名拼写正确并且大小写正确。

如果该类包含在单独的程序集中,请确保您的 winforms 项目具有对其他程序集的引用。

希望有帮助。

于 2013-09-06T22:23:16.493 回答
0

检查您的构建配置并确保正在构建所有引用的项目,并且正在构建正确的配置(64 位与 32 位)。此外,请确保您使用的是任何引用的 dll 的正确版本。

于 2013-09-06T22:37:15.070 回答