【问题标题】:Error building a console .netcoreapp3.1 app with VS2019使用 VS2019 构建控制台 .netcoreapp3.1 应用程序时出错
【发布时间】:2021-01-18 07:54:14
【问题描述】:

我正在使用 VS2019 16.7.5 构建控制台 HelloWorld .netcoreapp3.1 在向导之后,构建时出现错误

>C:\Program Files\dotnet\sdk\3.1.402\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5): error NETSDK1004: Assets file 'D:\ConsoleApp2\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.

我试过了:

PM> dotnet restore
  Determining projects to restore...
C:\Program Files\dotnet\sdk\5.0.100-rc.1.20452.10\NuGet.targets(130,5): error : 'Python 3.6.5' is not a valid version string. (Parameter 'value') [D:\ConsoleApp2\ConsoleApp2.sln]

nuget restore 的结果相同。
是的,我有 Python 3.6.5,但即使从环境变量中删除,我也会收到此错误。

【问题讨论】:

    标签: visual-studio .net-core nuget


    【解决方案1】:

    您遇到的任何问题肯定是特定于机器的,因此我无法确定地给您答案,或者在我的机器上重现它。我知道您说过您删除了环境变量,但这是我的最佳猜测,因为 MSBuild 会自动将所有环境变量导入为 MSBuild 属性。

    您可以运行dotnet restore -bl,这将创建一个msbuild.binlog 文件。使用https://www.msbuildlog.com/ 打开它,然后在搜索框中输入“python”。您将发现字符串的来源,以及它如何流向 NuGet 的还原。如果它在项目评估的一开始就被列为属性,除非您在命令行中传入该字符串,否则它几乎肯定来自环境变量。

    如果你发誓它不是环境变量,在 binlog 查看器中,你可以右键单击 csproj 并选择“预处理”,或者运行 dotnet msbuild -pp:pp.txt 并在你喜欢的 xml/文本查看器中打开 pp.txt。这是将所有 MSBuild 导入复制/粘贴到单个文件中的 csproj。如果 python 不是通过环境变量进入的,那么它一定来自导入,这将在预处理文件中可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-17
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 2017-10-19
      • 2010-09-22
      • 1970-01-01
      相关资源
      最近更新 更多