【问题标题】:Can I build a set of C# projects without a .sln in Visual Studio?我可以在 Visual Studio 中构建一组没有 .sln 的 C# 项目吗?
【发布时间】:2019-07-16 02:53:11
【问题描述】:

我看了这篇文章https://docs.microsoft.com/en-us/visualstudio/ide/develop-code-in-visual-studio-without-projects-or-solutions?view=vs-2019

这似乎表明您现在可以在没有 .sln 文件的情况下在 Visual Studio 中工作。

我在使用 git 时遇到了很多关于 .sln 文件的问题。所以我希望免除它们。 .csproj 文件一般都可以。

这是我的 .csproj 文件内容

<Project Sdk="Microsoft.NET.Sdk">

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

</Project>

这是我的程序.cs

using System;

namespace TestWithoutSln
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

我尝试将 .csproj 文件设置为启动,我得到以下信息 '错误 NETSDK1004 资产文件'C:\Users\Blah\Desktop\Working Repositories\Projects\Test\obj\project.assets.json' 未找到。运行 NuGet 包还原以生成此文件。'

但我不知道如何在没有加载 .csproj 的情况下运行包还原。包管理控制台没有列出任何项目。

之后如何让一个项目引用另一个项目?

另外编辑: 我已经从开发人员命令提示符中尝试了dotnet restore。在成功构建后运行它时,我现在遇到了一个新错误。

An unhandled exception of type 'System.IO.FileNotFoundException' occurred in Unknown Module.
Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

【问题讨论】:

  • 出于好奇,您对解决方案文件有什么问题?
  • 我在尝试合并分支时遇到了很多问题。 .sln 得到了很多更新,我遇到了冲突。它总是变成一团糟,它的内容大约是 50% 的胡言乱语。另一方面,.csproj 文件很容易处理。

标签: c# visual-studio .net-core visual-studio-2019


【解决方案1】:

您只需在.csproj 文件所在的文件夹内导航到一个

PS> dotnet restore

【讨论】:

  • 现在我得到'未知模块中发生'System.IO.FileNotFoundException'类型的未处理异常。当我运行它时,无法加载文件或程序集“System.Runtime,Version=4.2.1.0”。仅供参考,我使用的是默认的 .Net Core Hello World CLI 程序。
  • @TheColonel26 我所做的只是谷歌搜索,发现github.com/Azure/azure-functions-vs-build-sdk/issues/160 可能有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多