Dotnet watcher - 路径中的非法字符 - 什么可能导致此错误?

Dotnet watcher - Illegal characters in path -- what could cause this error?

谁能帮助我们理解为什么 dotnet watch 会导致我们的应用程序崩溃?

我正在使用 dotnet new mvc 和 yo aspnetcore-spa 在 visual studio 代码中创建应用程序。两者都工作正常,直到我尝试使用 https://github.com/aspnet/DotNetTools/tree/dev/src/Microsoft.DotNet.Watcher.Tools 处的示例添加对 DotNet Watcher 工具的引用以在 csproj 文件中插入引用:

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
</ItemGroup>

加入csproj和dotnet restore后,应用报错失败,不可恢复。必须删除,我必须从头开始。

完整的 csproj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>
            netcoreapp1.1
        </TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
        <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
        <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
        <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
    </ItemGroup>
    <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
    </ItemGroup>
</Project>

抛出的错误如下所示,无论我们在磁盘上的哪个位置创建应用程序或将其命名为什么,都会发生。

我们的环境是:

问题已解决。名为 "XML Formatter" 的扩展正在重写保存时的 csproj 文件并添加硬 returns 和选项卡。删除此扩展,将 csproj 恢复到其原始状态,重新添加 DotNetCliToolReference 代码块并通过 dotnet restore 重建解决了这个问题。