Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C::我的第一条Azure DevOps管道(“你好,世界!”)-“;类型或命名空间名称';系统&x27;“找不到”;_C#_.net_Azure_Azure Devops_Azure Pipelines - Fatal编程技术网

C# C::我的第一条Azure DevOps管道(“你好,世界!”)-“;类型或命名空间名称';系统&x27;“找不到”;

C# C::我的第一条Azure DevOps管道(“你好,世界!”)-“;类型或命名空间名称';系统&x27;“找不到”;,c#,.net,azure,azure-devops,azure-pipelines,C#,.net,Azure,Azure Devops,Azure Pipelines,(目前)我只想创建一个运行Helloworld.cs的Azure DevOps C#管道 我创建了一个Helloworld.cs&Helloworld.csproj如下 Helloworld.cs using System; class HelloWorld { static void Main() { Console.WriteLine("Hello, World!"); } } Helloworld.csproj <Project xmlns

(目前)我只想创建一个运行
Helloworld.cs
的Azure DevOps C#管道

我创建了一个
Helloworld.cs
&
Helloworld.csproj
如下

Helloworld.cs

using System;

class HelloWorld
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}
Helloworld.csproj

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Compile Include="Helloworld.cs" />
    </ItemGroup>
    <Target Name="Build">
        <Csc Sources="@(Compile)"/>
    </Target>
</Project>
因此,在排除故障的过程中,我发现了这样一个问题:

一些答案建议恢复NuGet包。因此,我在YAML中添加了一个NuGet恢复作为第一阶段

YAML文件

trigger:
- master

pool:
  vmImage: 'windows-latest'

stages:
- stage: Restore_NuGet_Stage
  displayName: 'Restore NuGet Stage'
  jobs:
  - job: restore_nuget
    displayName: 'Restore NuGet'
    steps:
    - task: NuGetCommand@2
      inputs:
        command: restore
- stage: Build_Stage
  displayName: 'Build Stage'
  jobs: 
  - job: compile_cs
    displayName: 'Compile CS Files'
    steps:
    - task: DotNetCoreCLI@2
      displayName: 'Build Task'
      inputs:
        command: build
        projects: 'Helloworld.csproj'
        arguments: '--configuration Testing'
但是我仍然得到了完全相同的
名称空间名称“System”找不到
上面发现的错误

我必须修复什么才能克服此错误?我以为编译代码将是最简单的部分

编辑-以下是我运行管道时显示的初步输出。有
.Net核心版本2.158.1
列出&
SDK版本3.0.100
,以防有所帮助

Starting: Build Task
==============================================================================
Task         : .NET Core
Description  : Build, test, package, or publish a dotnet application, or run a custom dotnet command
Version      : 2.158.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli
==============================================================================
C:\windows\system32\chcp.com 65001
Active code page: 65001
"C:\Program Files\dotnet\dotnet.exe" build d:\a\1\s\Helloworld.csproj --configuration Testing

Welcome to .NET Core 3.0!
---------------------
SDK Version: 3.0.100

您创建项目文件的引用已过时-这可以追溯到只有一个.net framework的时代,因此无需告诉msbuild目标是什么

现在,需要另外一个配置元素来告诉msbuild您正在使用的框架:

您需要添加TargetFramework属性:

<PropertyGroup>
   <TargetFramework>netcoreapp2.1</TargetFramework>
 </PropertyGroup>
请注意根级别的
Sdk=
属性。这记录在:

MSBuild 15.0引入了“project SDK”的概念,它简化了需要导入属性和目标的软件开发工具包的使用


它总结了将一个旧的.net framework项目升级到dotnet core所需的更改—其长短不一之处在于,您的问题是由于将旧的项目格式与新的工具混合在一起而引起的。要构建.Net Framework项目,我认为您需要的是而不是dotnet cli任务。

谢谢。不幸的是,在
标记之间添加
netcoreapp2.1
后,我仍然会收到相同的错误。我也试过把
2.1
改成
3.0
,也试过在我的手机上改成不可用;我现在在电脑前,将尝试并复制。因此,唯一需要的更改确实是
.csproj
文件--只需输入默认内容,就像您在这里看到的那样…我多次考虑在VS中启动一个新的C项目,以查看
.csproj
的内容,并将它们复制到我的管道的
.csproj
…看起来我应该这样做你刚刚做了那件事,你从哪里得到这个错误的?在VisualStudio中?
<PropertyGroup>
   <TargetFramework>netcoreapp2.1</TargetFramework>
 </PropertyGroup>
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

</Project>