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

时间:2019-10-26 17:16:28

标签: c# asp.net-core-webapi .net-core-3.0 asp.net-core-3.0

我正在尝试将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下跌以来,我经历过这一点是否独一无二?我想完成此解决方案的设置,以便在第二天左右生气时开始工作编码。

1 个答案:

答案 0 :(得分:0)

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

我在非git管理且没有特殊字符代码的文件夹中确认了这一点-如您所料,项目已正确解压缩。

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

所以...这个故事的寓意-不要在您的Azure DevOps项目中放置空格,当您处理ASP.NET项目时,这些空格最终会层叠到本地存储库中。另外...鉴于事实如此简单,这最终并没有成为一个更好记录的问题,这真是令人惊讶。