2017-05-04 1 views
6

Pour mon projet Web Visual Studio 2017, ASP.NET Core, MVC, j'ai simplement ajouté le package Microsoft.TypeScript.MSBuild NuGet v2. 3.1, et mis à jour simultanément mes assemblys ASP.NET Core de 1.0. * À 1.1.1. Maintenant, tout à coup quand je construis mon projet, je reçois l'exception suivante:La tâche "CheckFileSystemCaseSensitive" a échoué de manière inattendue, Impossible de charger le fichier ou l'assembly 'System.IO.FileSystem

Severity Code Description Project File Line Suppression State 
Error MSB4018 The "CheckFileSystemCaseSensitive" task failed unexpectedly. 
System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 
File name: 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 
    at TypeScript.Tasks.CheckFileSystemCaseSensitive.Execute() 
    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() 

Double-cliquez sur le message d'exception prend une à ces lignes dans le fichier Microsoft.TypeScript.targets:

<Target Name="CheckFileSystemCaseSensitive"> 
    <CheckFileSystemCaseSensitive 
     MSBuildThisFileFullPath="$(MSBuildThisFileFullPath)" > 
     <Output TaskParameter="IsFileSystemCaseSensitive" PropertyName="IsFileSystemCaseSensitive" /> 
    </CheckFileSystemCaseSensitive> 
</Target> 

où il dit que "MSBuildThisFileFullPath n'est pas défini".

J'ai essayé d'ajouter des références à NETStandard.Library, comme suggéré ici: https://github.com/dotnet/corefx/issues/16206, mais cela ne fait aucune différence.

La sortie MSBuild diagnostic ressemble à ceci:

1>Target "CheckFileSystemCaseSensitive" in file "C:\Users\dkent\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets": 
1> Using "CheckFileSystemCaseSensitive" task from assembly "C:\Users\dkent\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\TypeScript.Tasks.dll". 
1> Task "CheckFileSystemCaseSensitive" 
1> Task Parameter:MSBuildThisFileFullPath=C:\Users\dkent\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets 
1> [...]\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets(172,5): error MSB4018: The "CheckFileSystemCaseSensitive" task failed unexpectedly. 
1> [...]\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets(172,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 
1> [...]\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets(172,5): error MSB4018: File name: 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 
1> [...]\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets(172,5): error MSB4018: at TypeScript.Tasks.CheckFileSystemCaseSensitive.Execute() 
1> [...]\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets(172,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
1> [...]\.nuget\packages\microsoft.typescript.msbuild\2.3.1\tools\netstandard1.3\Microsoft.TypeScript.targets(172,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() 
1> Done executing task "CheckFileSystemCaseSensitive" -- FAILED. 

Merci pour toutes suggestions.

+0

Je note, pour ce qu'il vaut la peine, que la dernière version de 'System.IO.FileSystem' est 4.3.0, pas 4.0.1.0. –

+1

MSBuild distribue ses propres copies des assemblys de façade qui permettent l'exécution des tâches créées sur netstandard. Je suggère le dépôt comme un bogue dans https://github.com/Microsoft/msbuild/issues –

+1

Fait: https://github.com/Microsoft/msbuild/issues/2061 –

Répondre

0

(vieille question, mais cela peut aider toute personne à la recherche d'autre pour une solution à ce numéro):

Comme alternative de configuration de TypeScript pour votre projet VS, vous pouvez essayer d'ajouter le package de nuget Microsoft TypeScript Compiler à la solution au lieu du package Microsoft.TypeScript.MSBuild. Vous devrez peut-être configurer le <TypeScriptToolsVersion> dans le fichier .csproj (vous avez seulement besoin du mineur et majeur, par exemple version):

<TypeScriptToolsVersion>2.3</TypeScriptToolsVersion>