Visual Studio 2019 ASP.NET Core API 项目模板损坏?

Posted

技术标签:

【中文标题】Visual Studio 2019 ASP.NET Core API 项目模板损坏?【英文标题】:Visual Studio 2019 ASP.NET Core API project template broken? 【发布时间】:2020-02-22 15:51:58 【问题描述】:

我正在尝试将 ASP.NET Core 3.0 RESTFUL 服务项目(使用 API 模板)添加到现有的 UWP 解决方案。当我添加服务项目时,这就是 VS2019(16.3.6,因为更新到最新的预览版本以查看是否有帮助)中显示的内容。 Project files and folders not displayed

项目属性在下面的抓取中捕获: Project Properties screen capture

模板正在从模板正确生成文件。根文件夹包含以下文件:

----                -------------         ------ ----
d-----       27/10/2019   1:07 AM                bin
d-----       27/10/2019   1:07 AM                Controllers
d-----       27/10/2019   2:58 AM                obj
d-----       27/10/2019   1:07 AM                Properties
-a----       27/10/2019   1:07 AM            146 appsettings.Development.json
-a----       27/10/2019   1:07 AM            192 appsettings.json
-a----       27/10/2019   1:07 AM            717 EPCSServices.csproj
-a----       27/10/2019   1:07 AM            720 Program.cs
-a----       27/10/2019   1:07 AM           1464 Startup.cs
-a----       27/10/2019   1:07 AM            308 WeatherForecast.cs

Controllers 文件夹包含此文件,该文件由模板安装:

----                -------------         ------ ----
-a----       27/10/2019   1:07 AM           1185 WeatherForecastController.cs

但是 VS2019 不允许我在 IDE 中编辑它们。我试过清理项目和解决方案,还卸载/重新加载项目。我尝试使用 -includePrerelease 更新 nuget 包并安装了所有最新的 .NET Core 二进制文件(包括 ASP.NET Core、EF Core、NewtonSoft.json 等)。一切都无济于事。解决方案不会建立。构建后,它会抛出一个错误,如下所示:

Error NETSDK1004    
Assets file '<Path>\EPCSServices\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. 
EPCSServices    
C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets
Line 234        

我已经使用 UI 完成了 NuGet 包还原。存在 Obj 文件夹和相关的 .json 文件。

VS2019 还在输出窗口中抛出了关于 Microsoft.VisualStudio.Web.CodeGeneration.Design nuget 包的各种消息 - 再次更新但运气不佳。

我已经尝试过使用 .NET Core 3.0、.NET Core 3.1(预览版)甚至 .NET Core 2.2。自周五 16.3.6 下跌以来,我是独一无二的吗?我想完成这个解决方案的设置,这样我就可以在第二天左右开始愤怒地编码。

【问题讨论】:

您是否也尝试在工具 > NuGet 包管理器 > 包管理器控制台中运行 dotnet restore 是的。在两个框架版本(3.0 和 3.1 预览版)中都试过了 【参考方案1】:

我发现了问题所在。我的项目被加载到一个包含 html 转义字符的文件夹中,因为我在 Azure DevOps 项目中有空格,我从中克隆了空存储库。

我在一个不受 git 管理且没有特殊字符代码的文件夹中确认了这一点 - 项目已按照您的预期正确解包。

然后我通过在文件夹名称中创建一个带有转义编码空格的文件夹来双重确认违规行为,然后繁荣 - 模板构建崩溃。

所以...故事的寓意 - 不要在您的 Azure DevOps 项目中放置空间,当您处理 ASP.NET 项目时,这些空间最终会级联到您的本地存储库。另外... 考虑到它的简单性,这最终并没有成为一个更好的文档记录问题,这有点令人惊讶。

【讨论】:

以上是关于Visual Studio 2019 ASP.NET Core API 项目模板损坏?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2012-2019的130多个jQuery代码片段。

怎样visual studio2019

Visual Studio 2017工程在Visual Studio 2019打开碰到的问题

Visual Studio 2017工程在Visual Studio 2019打开碰到的问题

每次打开visual studio2019都会在桌面生成一个.vs文件夹?

visual studio 2019能写html和js语言吗?