Dotnet观察者 - 路径中的非法字符 - 可能导致此错误的原因是什么?

时间:2017-04-04 12:43:08

标签: asp.net-core .net-core dotnet-cli

任何人都可以帮助我们了解为什么dotnet手表会导致我们的应用程序崩溃吗?

我使用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还原后,应用程序抛出错误并失败并且无法恢复。它必须删除,我必须从头开始。

完整的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>

无论我们在磁盘上创建应用程序的位置或命名内容,抛出的错误都会在下面发生。

  • C:\ Program Files \ dotnet \ sdk \ 1.0.1 \ Sdks \ Microsoft.NET.Sdk.Publish \ build \ netstandard1.0 \ Microsoft.NET.Sdk.Publish.targets(90,5):错误MSB4184 :表达式&#34; [System.IO.Path] :: GetFullPath(C:\ test \ obj \ Debug \ [C:\ test \ test.csproj]
  • C:\ Program Files \ dotnet \ sdk \ 1.0.1 \ Sdks \ Microsoft.NET.Sdk.Publish \ build \ netstandard1.0 \ Microsoft.NET.Sdk.Publish.targets(90,5):错误MSB4184 :netcoreapp1.1 [C:\ test \ test.csproj]
  • C:\ Program Files \ dotnet \ sdk \ 1.0.1 \ Sdks \ Microsoft.NET.Sdk.Publish \ build \ netstandard1.0 \ Microsoft.NET.Sdk.Publish.targets(90,5):错误MSB4184 :\ PubTmp)&#34;无法评估。路径中的非法字符。参数名称:path [C:\ test \ test.csproj]

我们的环境是:

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

  • 主机版本:1.1.0

  • 构建:928f77c4bc3f49d892459992fb6e1d5542cb5e86
  • Visual Studio Code v 1.10.2
  • Windows 10

1 个答案:

答案 0 :(得分:1)

问题解决了。名为&#34; XML Formatter&#34;的扩展名在保存时重写了csproj文件并添加了硬回车和标签。删除此扩展,将csproj恢复到原始状态,在DotNetCliToolReference代码块中重新添加并通过dotnet restore重建解决了这个问题。