0

このエラーを取り除く方法がわかりません。私はC#に非常に慣れていませんが、できる限りの支援をお願いします。ありがとう

エラー: タイプ名 'LoginWindows' はタイプ 'ProjectServer.WebSvcLoginWindows' に存在しません

ソースコード:

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

ビルド構成を確認し、参照されているすべてのプロジェクトがビルドされ、正しい構成 (64 ビットと 32 ビット) でビルドされていることを確認します。また、参照されているすべての dll の正しいバージョンを使用していることを確認してください。

于 2013-09-06T22:37:15.070 に答える
0

この問題は、loginWindows 変数を作成するときに、クラス名 (LoginWindows) または名前空間 (WebSvcLoginWindows) が正しくないことが原因である可能性があります。

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

名前空間とクラス名のスペルが正しく、大文字が正しいことを確認してください。

クラスが別のアセンブリに含まれている場合は、winforms プロジェクトに他のアセンブリへの参照があることを確認してください。

それが役立つことを願っています。

于 2013-09-06T22:23:16.493 に答える