命名空间“System”中不存在“ServiceModel”。当我尝试添加引用时,它说它已被引用

问题描述 投票:0回答:4

我正在使用 Visual Studio Professional 2013,并且我正在尝试导入文件位于 SVN 上的 ASP.NET 网站,以便我可以在本地运行和调试该网站。我创建了一个新网站,并将目标框架更改为 .NET 3.5(这是构建该网站的人告诉我的)。因此,我将文件复制到网站目录,并使用“添加->现有网站”将它们添加到解决方案中。

我具体收到此错误:

The type or namespace name 'ServiceModel' does not exist in the namespace 'System' (are you missing an assembly reference?)

所以,我想,我只是添加对 ServiceModel 的引用,没什么大不了的。因此,我右键单击该项目,去添加引用,在 Assemblies->Framework 下查找 System.ServiceModel,选中它,然后单击“确定”。然后就会发生这样的事情:

The Web site is already referencing the assembly 'System.ServiceModel'.

这些事情可能会有所帮助:

  • 我的目标框架不是“Client Profile”。我在 VS2013 中无法使用该选项
  • 当我创建一个新的网站项目并仅添加一个基本类文件时,我可以使用 System.ServiceModel 命名空间,因为它已经被引用了。
  • 当我在“项目引用”的类视图中查看时,我没有看到 System.ServiceModel。在上面的“新网站项目”中,我确实在类视图下看到了 System.ServiceModel。
c# asp.net .net-3.5 visual-studio-2013
4个回答
7
投票

添加对程序集 System.ServiceModel 的引用。选择 Project-> Add Reference,然后选择程序集名称。


1
投票

将 System.ServiceModel.dll 从“C:\Windows\Microsoft.NET\Framework 4.0.30319”复制到项目 bin 文件夹。


0
投票
  • 删除服务参考
  • 卸载项目
  • 删除
    <RootNamespace>MyProject</RootNamespace>
  • 重新加载项目
  • 重新添加服务参考
  • 构建

0
投票

你应该添加这些包 ->

<PackageReference Include="System.ServiceModel.Duplex" Version="4.7.*" /> <PackageReference Include="System.ServiceModel.Http" Version="4.7.*" /> <PackageReference Include="System.ServiceModel.NetTcp" Version="4.7.*" /> <PackageReference Include="System.ServiceModel.Security" Version="4.7.*" />

© www.soinside.com 2019 - 2024. All rights reserved.