0

我有一个在虚拟机 Debian OS 上运行的 Java 服务器,

无论如何,在服务器端创建了一个 WSDL 文件,并且从 Visual Studio 我正在使用 Web 服务。发现该服务,我正在添加此服务引用,但是,当我尝试构建时,我收到此错误:

“WindowsFormsApplication2.Properties.Settings”不包含“WindowsFormsApplication2_TravelAgency_TravelBooking”的定义,并且没有扩展方法“WindowsFormsApplication2_TravelAgency_TravelBooking”接受“WindowsFormsApplication2.Properties.Settings”类型的第一个参数(您是否缺少 using 指令或程序集引用?) C:\Users\Me\Documents\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Web References\TravelAgency\Reference.cs 42

这与以下内容有关Reference.cs

this.Url = global::WindowsFormsApplication2.Properties.Settings.Default.WindowsFormsApplication2_TravelAgency_TravelBooking;

WindowsFormsApplication2_TravelAgency_TravelBooking红色下划线。

我不知道发生了什么,并将添加所需的所有信息,不确定还要添加什么。

编辑:

我拥有的所有代码如下

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

和:Form1.cs_Form1.cs[Design]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WindowsFormsApplication2.TravelAgency;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            TravelBooking tb = new TravelBooking();

        }
    }
}

编辑:

如果我在 Netbeans 中执行此操作并创建一个 Java Gui(只是为了测试)它可以正常工作并且效果很好。所以这就是为什么我认为这与生成的代码有关

4

1 回答 1

0

问题在于动态 URL,当您没有在 App.config 中设置 URL 时,它会给您该错误,这里是关于如何将其从静态更改为动态并具有附加值的说明,它显示了以下代码在这两种情况下都会生成,当 URL 设置为动态时,自动生成的代码将尝试从 App.config 中获取它,System.Configuration.ConfigurationSettings.AppSettings或者在较新的版本中,从应用程序属性中获取它(这更糟),并且您可以从那里获得如果没有异常,则生成的代码会检查空值但不会捕获异常。

您可以自己验证这一点,将 URL 更改为 Dynamic 并检查生成的代码。一个简单的解决方案,如果您以后不需要更改 URL,将其设置为静态,另一种解决方案是在 App.config 中创建条目,或者,在 .NET 4+ 的项目中创建属性

希望这可以帮助

于 2013-07-19T14:43:37.890 回答