Visual Studio 2022 C#:无法从 *.sln 文件构建项目

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

在一个在线课程中,我布置了一个练习,这是一个非常简单的练习,但我让它很难完成......

  1. 我已经创建了 GitHub 存储库,仅包含 Readme.md 文件:https://github.com/frostysh/EXERCISE03_YPARKHOMENKO_CSHARPPRO_HILLEL.git
  2. 我已将远程存储库克隆到本地计算机,并创建了一个新分支,我想在其中完成所有工作,然后通过 Pull-Request 将其合并到远程存储库上的主分支。

在本地计算机上,我创建了一些文件 “Program.cs”“User.cs”,等等。我发现我的自动语法错误检查不起作用。更重要的是,项目拒绝构建......所以我从其他一些项目复制粘贴并修改文件到这个项目开始正常工作。

    根目录中
  • /obj/ 中的 project.assets.json 文件(我也创建了 obj-ddirectory)
    {
      "version": 3,
      "targets": {
        "net8.0": {}
      },
      "libraries": {},
      "projectFileDependencyGroups": {
        "net8.0": []
      },
      "packageFolders": {
        "C:\\Users\\F021\\.nuget\\packages\\": {}
      },
      "project": {
        "version": "1.0.0",
        "restore": {
          "projectUniqueName": "C:\\Users\\F021\\source\\repos\\HILLEL_PRIVATE_SCHOOL_CSHARPRO_EXERCISE03_CONSOLE_PROGRAM_WITH_OBJECTS\\EXERCISE03_YPARKHOMENKO_CSHARPPRO_HILLEL.csproj",
          "projectName": "HILLEL_PRIVATE_SCHOOL_CSHARPPRO_EXERCISE03_CONSOLE_PROGRAM_WITH_OBJECTS",
          "projectPath": "C:\\Users\\F021\\source\\repos\\HILLEL_PRIVATE_SCHOOL_CSHARPRO_EXERCISE03_CONSOLE_PROGRAM_WITH_OBJECTS\\EXERCISE03_YPARKHOMENKO_CSHARPPRO_HILLEL.csproj",
          "packagesPath": "C:\\Users\\F021\\.nuget\\packages\\",
          "outputPath": "C:\\Users\\F021\\source\\repos\\HILLEL_PRIVATE_SCHOOL_CSHARPRO_EXERCISE03_CONSOLE_PROGRAM_WITH_OBJECTS\\obj\\",
          "projectStyle": "PackageReference",
          "configFilePaths": [
            "C:\\Users\\F021\\AppData\\Roaming\\NuGet\\NuGet.Config",
            "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
          ],
          "originalTargetFrameworks": [
            "net8.0"
          ],
          "sources": {
            "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
            "https://api.nuget.org/v3/index.json": {}
          },
          "frameworks": {
            "net8.0": {
              "targetAlias": "net8.0",
              "projectReferences": {}
            }
          },
          "warningProperties": {
            "warnAsError": [
              "NU1605"
            ]
          },
          "restoreAuditProperties": {
            "enableAudit": "true",
            "auditLevel": "low",
            "auditMode": "direct"
          }
        },
        "frameworks": {
          "net8.0": {
            "targetAlias": "net8.0",
            "imports": [
              "net461",
              "net462",
              "net47",
              "net471",
              "net472",
              "net48",
              "net481"
            ],
            "assetTargetFallback": true,
            "warn": true,
            "frameworkReferences": {
              "Microsoft.NETCore.App": {
                "privateAssets": "all"
              }
            },
            "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
          }
        }
      }
    }
  • 我也手动创建了 *.csproj 文件。
    <Project Sdk="Microsoft.NET.Sdk">
    
        <PropertyGroup>
            <OutputType>Exe</OutputType>
            <TargetFramework>net8.0</TargetFramework>
            <ImplicitUsings>enable</ImplicitUsings>
            <Nullable>enable</Nullable>
        </PropertyGroup>
    
    </Project>
  • 我还借助控制台程序创建了 *.sln 文件 dotnet new sln --name MySlnName

    Microsoft Visual Studio Solution File, Format Version 12.00
    # Visual Studio Version 17
    VisualStudioVersion = 17.0.31903.59
    MinimumVisualStudioVersion = 10.0.40219.1
    Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
            Debug|Any CPU = Debug|Any CPU
            Release|Any CPU = Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
            HideSolutionNode = FALSE
        EndGlobalSection
    EndGlobal

但该项目仅在这种模式下工作 - 在调试菜单中选择*.csproject(MSV Studio 的屏幕截图):StartWithoutDebug *.csproj

并且该项目在此模式下无法工作 - 在调试菜单中选择 *.sln: StartWithoutDebugging *.sln

我认为如果我完成工作,并且老师将克隆我的远程存储库并尝试构建和启动该项目,那么它将无法工作。如何修复它? 感谢大家未来的回答。

c# github visual-studio-2022
1个回答
0
投票

万岁!!!被诅咒的魔法发生了!有用! 我只需要使用

dotnet sln add EXERCISE03_YPARKHOMENKO_CSHARPPRO_HILLEL.csproj
,唷...我需要学习九层地狱默认DOTNET程序包的诅咒。现在我可以将源代码发布到我的 *.sln 文件中,该文件看起来正确。您可以比较 sln-program 完成工作之前和之后的情况。


    Microsoft Visual Studio Solution File, Format Version 12.00
    # Visual Studio Version 17
    VisualStudioVersion = 17.0.31903.59
    MinimumVisualStudioVersion = 10.0.40219.1
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EXERCISE03_YPARKHOMENKO_CSHARPPRO_HILLEL", "EXERCISE03_YPARKHOMENKO_CSHARPPRO_HILLEL.csproj", "{155BCC83-FEE6-4808-939C-81557170C5E6}"
    EndProject
    Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
            Debug|Any CPU = Debug|Any CPU
            Release|Any CPU = Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
            HideSolutionNode = FALSE
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
            {155BCC83-FEE6-4808-939C-81557170C5E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
            {155BCC83-FEE6-4808-939C-81557170C5E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
            {155BCC83-FEE6-4808-939C-81557170C5E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
            {155BCC83-FEE6-4808-939C-81557170C5E6}.Release|Any CPU.Build.0 = Release|Any CPU
        EndGlobalSection
    EndGlobal

现在它可以“开箱即用”,只需双击 sln 文件即可,我希望它也能在我老师的机器上运行...

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