首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加WCF服务将生成Reference.cs文件,引用Microsoft.CodeDom而不是System.CodeDom。

添加WCF服务将生成Reference.cs文件,引用Microsoft.CodeDom而不是System.CodeDom。
EN

Stack Overflow用户
提问于 2021-10-01 21:21:58
回答 1查看 615关注 0票数 2

我试图在我的项目中添加对WCF服务的引用,但是每当我这样做的时候,Reference.cs文件中的类在它的上面有属性[Microsoft.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3-preview3.21351.2")],而不是[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] (我通常在其他项目中看到)。

问题是无法找到用于Microsoft.CodeDom的程序集。我找到了一个名为Microsoft.CodeDom.Providers.DotNetCompilerPlatfor的nuget包,但它与.NET 5不兼容。

此外,使用包的预发布版本似乎很奇怪(2.0.3-preview3.21351.2)。

有人知道Visual为什么要生成这个奇怪的Reference.cs文件吗?

如果我试图在.NET Framework4.8项目中添加对同一个WCF服务的引用,就会按预期的方式生成Reference.cs文件(使用属性[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")])。

下面是有关Visual安装的信息

2019版本16.11.3 VisualStudio.16.发布/16.11.3+31702.278微软.NET框架版本4.8.04084 安装版本:专业版 用WSL1.0进行.NET核调试.NET核调试 ASP.NET和Web 2019 16.11.75.64347 ASP.NET和Web 2019 ASP.NET网络框架和工具2019 16.11.75.64347欲了解更多信息,请访问https://www.asp.net/ Azure Azure v3.0.0 16.11.75.64347 Azure Azure v3.0.0 Azure函数和Web作业工具16.11.75.64347 Azure函数和Web作业工具 3.11.0-4.21403.6+ae1fff344d46976624e68ae17164e0607ab68b10中使用的C#工具C#组件。根据项目类型和设置,可以使用不同版本的编译器。 通用Azure工具1.10提供通用服务,供Azure Mobile services和Microsoft Azure工具使用。 IntelliCode扩展1.0 IntelliCode Visual扩展详细信息 MicrosoftAzureToolsforVisualStudio2.9支持项目 MicrosoftVisualStudio0.4的持续交付工具简化了Visual中Azure DevOps管道的配置。 Microsoft调试器1.0支持将Visual调试器连接到兼容JDWP的Java虚拟机 Microsoft 2.1.113+g422d40002e.RR轻松地将客户端库安装到任何web项目中。 Microsoft基于MI的调试器1.0支持将Visual连接到与MI兼容的调试器 1.2在目标环境中开发、运行和验证ASP.NET核心应用程序。F5您的应用程序直接进入一个容器进行调试,或CTRL + F5来编辑和刷新您的应用程序,而不必重新构建容器。 Node.js工具1.5.30526.3提交哈希:c09c81113bcbc86d57943fcdd67e82434263d61d添加对在Visual中开发和调试Node.js应用程序的支持 Visual中的NuGet包管理器5.11.0 NuGet包管理器。有关NuGet的更多信息,请访问https://docs.nuget.org/ ProjectServicesPackage扩展1.0 ProjectServicesPackage Visual扩展详细信息 剃须刀(ASP.NET芯) 16.1.0.2122504+13c05c96ea6bdbe550bd88b0bf6cdddf8cde1725为ASP.NET核心Razor提供语言服务。 Server数据工具16.0.62107.28140 Microsoft数据工具 TypeScript工具16.0.30526.2002 Microsoft的TypeScript工具 可视化基本工具 3.11.0-4.21403.6+ae1fff344d46976624e68ae17164e0607ab68b10中使用的Visual组件。根据项目类型和设置,可以使用不同版本的编译器。 可视化F#工具 16.11.0-beta.21322.6+488cc578cafcd261d90d748d8aaa7b8b091232dc微软可视化F#工具 Visual代码调试适配器主机包1.0 Interop层,用于在Visual中托管Visual代码调试适配器 Visual容器工具扩展1.0查看、管理和诊断Visual中的容器。 用于容器的Visual工具1.0

EN

回答 1

Stack Overflow用户

发布于 2022-03-31 18:28:54

我发现VS 2019使用了donet-svcutil的2.0.3.preview.3.21351.2版本来生成参考文件(但不知道为什么要使用包的预览版本)。

因此,这更像是一种解决办法,而不是一种解决方案,但通过执行以下操作(我在Powershell中运行了所有命令),我成功地添加了一个现有引用:

  1. 安装dotnet-svcutil版本2.0.2 dotnet tool update --global dotnet-svcutil --version 2.0.2
  2. 要更新引用,请选择具有WCF引用的项目的根,然后执行以下操作 dotnet-svcutil --update {path for the folder which contains the Reference.cs file}

要添加新的引用,可以通过运行

dotnet-svcutil -h

我还为VisualStudio团队创建了一个问题,以便他们能够调查它为什么使用nuget包的预览版本,您可以访问它这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69412094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档