gpt4 book ai didi

visual-studio - .NET Core MSTest 项目在 Microsoft 命名空间中找不到 VisualStudio 类型或命名空间

转载 作者:行者123 更新时间:2023-12-05 05:09:11 28 4
gpt4 key购买 nike

Microsoft Visual Studio 专业版 2019
版本 16.0.0
VisualStudio.16.Release/16.0.0+28729.10

我添加了一个 .NET Core 2.2 MSTest 项目并添加了依赖项:

  • Microsoft.NET.Test.Sdk v16.0.1(我更新到v16.2.0)
  • Microsoft.NET.Test.Sdk v1.3.2(我更新到v1.4.0)
  • MSTest.TestFramework v1.3.2(我更新到v1.4.0)

我编译并得到这个错误:

CS0234  The type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) ...\packages\microsoft.net.test.sdk\16.2.0\build\netcoreapp1.0\Microsoft.NET.Test.Sdk.Program.cs

Microsoft.NET.Test.Sdk.Program.cs

// <auto-generated> This file has been auto generated. </auto-generated>
using System;
[Microsoft.VisualStudio.TestPlatform.TestSDKAutoGeneratedCode]
class AutoGeneratedProgram {static void Main(string[] args){}}

一些观察:

  1. 项目是 .NET Core 2.2 但它使用的包来自netcoreapp1.0文件夹
  2. NuGet 包管理器已成功添加包 Microsoft.NET.Test.Sdk v16.0.1 但在构建时它有一个 Unresolved 问题引用

最佳答案

The type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) ...\packages\microsoft.net.test.sdk\16.2.0\build\netcoreapp1.0\Microsoft.NET.Test.Sdk.Program.cs

如果我们消费 Microsoft.NET.Test.Sdk打包,当我们编译和构建我们的项目时,Microsoft.NET.Test.Sdk.Program.cs也将由 csc.exe 编译在构建过程中。

因此错误消息表明 Microsoft.VisualStudio.TestPlatform.TestSDKAutoGeneratedCode无法很好地识别属性,因为对 Microsoft.TestPlatform.ObjectModel.dll 的引用有问题.

注意:

1. Microsoft.VisualStudio.TestPlatform.TestSDKAutoGeneratedCode来自组装Microsoft.TestPlatform.ObjectModel.dll .

2。 Microsoft.NET.Test.Sdk包取决于 Microsoft.TestPlatform.TestHost包,和Microsoft.TestPlatform.TestHost包取决于 Microsoft.TestPlatform.ObjectModel包。

如果这些包安装成功,编译和构建应该可以进行。所以实际上我认为您安装的软件包有问题。

Some simple suggestions you can try:

1.去Tools=>Nuget Package Manager=>Package Manager settings确保 Package Restore 的两个选项被启用。然后删除 bin、obj 文件夹并运行重建。

2.如果#1 不起作用,请尝试 clean the nuget cache by UI在 VS IDE 中,然后再次删除 bin、obj 文件夹,然后运行重建。

3.请更新你的VS IDE到最新版本,16.0.0太旧了,最新版本已经修复了一些问题。

Project is .NET Core 2.2 but it's using package from netcoreapp1.0 folder

如果您在路径 ...\packages\microsoft.net.test.sdk\16.2.0\build 中打开包你会发现这个包只有三个版本的程序集,net40、netcoreapp1.0 和 uap10.0。由于您的项目是 .net core 2.2,它将引用 netcoreapp1.0 文件夹中的程序集。这是预期的行为

关于visual-studio - .NET Core MSTest 项目在 Microsoft 命名空间中找不到 VisualStudio 类型或命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57780482/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com