Asp.net core Dotnet watcher-路径中的非法字符--是什么导致此错误?

Asp.net core Dotnet watcher-路径中的非法字符--是什么导致此错误?,asp.net-core,.net-core,dotnet-cli,Asp.net Core,.net Core,Dotnet Cli,有谁能帮助我们理解为什么dotnetwatch会导致我们的应用程序崩溃 我正在使用dotnet新mvc和yo aspnetcore spa在visualstudio代码中创建应用程序。在我尝试使用示例at添加对DotNet Watcher工具的引用以在csproj文件中插入引用之前,这两种方法都可以正常工作: <ItemGroup> <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Vers

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

我正在使用dotnet新mvc和yo aspnetcore spa在visualstudio代码中创建应用程序。在我尝试使用示例at添加对DotNet Watcher工具的引用以在csproj文件中插入引用之前,这两种方法都可以正常工作:

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
</ItemGroup>
<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>
添加到csproj和dotnet restore后,应用程序会抛出错误并失败,无法恢复。它必须被删除,我必须从头开始

完整csproj文件:

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
</ItemGroup>
<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>
抛出的错误如下所示,无论我们在磁盘上的何处创建应用程序或它的名称如何,都会发生

C:\Program Files\dotnet\sdk\1.0.1\Sdks\Microsoft.NET.sdk.Publish\build\netstandard1.0\Microsoft.NET.sdk.Publish.targets90,5:错误MSB4184:表达式[System.IO.Path]::GetFullPathC:\test\obj\Debug\[C:\test\test.csproj] C:\Program Files\dotnet\sdk\1.0.1\sdk\Microsoft.NET.sdk.Publish\build\netstandard1.0\Microsoft.NET.sdk.Publish.targets90,5:错误MSB4184:netcoreapp1.1[C:\test\test.csproj] C:\Program Files\dotnet\sdk\1.0.1\sdk\Microsoft.NET.sdk.Publish\build\netstandard1.0\Microsoft.NET.sdk.Publish.targets90,5:无法计算错误MSB4184:\PubTmp。路径中存在非法字符。参数名称:路径[C:\test\test.csproj] 我们的环境是:

.NET命令行工具1.0.1 Microsoft.NET核心共享框架

主机版本:1.1.0

构建:928f77c4bc3f49d892459992fb6e1d5542cb5e86 Visual Studio代码V1.10.2 视窗10
问题解决了。名为XML Formatter的扩展正在保存时重写csproj文件,并添加硬返回和制表符。删除此扩展,将csproj恢复到其原始状态,将其添加回DotNetCliToolReference代码块,并通过dotnet restore进行重建,解决了此问题

我已经把范围缩小到导致问题的VS代码扩展。我在CLI中通过代码禁用扩展禁用了所有已安装的扩展,并尝试使用yo aspnetcore spa进行新构建。这样做使我能够修改csproj文件,并成功构建和运行。我会把范围缩小到哪个扩展导致了问题,并添加一条评论。您可能应该提供一个答案,然后发布一个错误报告。谢谢VMAtm-我已经向扩展开发人员提交了一个错误报告。我还有大约21小时,StackOverflow将允许我接受我下面的答案作为已接受的答案。只要系统允许,我就会这么做。再次感谢!