.net 使用Svcutil.exe创建可用的代理类

.net 使用Svcutil.exe创建可用的代理类,.net,svcutil.exe,csc,.net,Svcutil.exe,Csc,我正在尝试使用svcutil.exe创建代理类。代理应该位于.dll中,以便我可以将库“添加引用”到另一个项目并使用它。下面是我目前的代码 ProcessStartInfo start = new ProcessStartInfo(); start.Arguments = "/out:C:\\Temp\\myProxyClass.cs http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";

我正在尝试使用svcutil.exe创建代理类。代理应该位于.dll中,以便我可以将库“添加引用”到另一个项目并使用它。下面是我目前的代码

        ProcessStartInfo start = new ProcessStartInfo();
        start.Arguments = "/out:C:\\Temp\\myProxyClass.cs http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";
        start.FileName = "C:\\Temp\\SvcUtil.lnk";
        start.WindowStyle = ProcessWindowStyle.Hidden;
        start.CreateNoWindow = true;

        using (Process proc = Process.Start(start))
        {
            proc.WaitForExit();
        }

        ProcessStartInfo start1 = new ProcessStartInfo();
        start1.Arguments = "/target:library /out:C:\\Temp\\XXX.dll C:\\Temp\\myProxyClass.cs";
        start1.FileName = "C:\\Temp\\csc.lnk";
        start1.WindowStyle = ProcessWindowStyle.Hidden;
        start1.CreateNoWindow = true;

        using (Process proc1 = Process.Start(start1))
        {
            proc1.WaitForExit();
        }
如上图所示,我首先使用svcutil.exe生成cs文件,然后使用csc.exe将其编译为dll。当我在另一个项目中添加它作为引用并尝试运行它时,我得到了一个错误


错误1在未引用的程序集中定义了类型“System.ServiceModel.ClientBase”1。必须添加对程序集“System.ServiceModel,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。C:\Users\ABC\My Work\AA Private\Test\Test\Program.cs 13 13 Test

错误消息告诉您需要执行的操作。将代理dll添加到的项目中还必须包含对System.ServiceModel的引用