2017-09-11 5 views
1

J'ai une nouvelle application de console .NET Core 2.0 (C#). Chaque fois que je tente d'ajouter un paquet NuGet, dire Newtonsoft.Json par exemple, je reçois l'exception suivante lorsque le programme est lancé:Je reçois une exception 'Impossible de charger le fichier ou l'assemblage' lors de l'exécution en tant que console à l'aide de .NET Core 2.0

System.IO.FileLoadException: « Impossible de charger le fichier ou l'assembly » System.Threading , Version = 4.1.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a '. La définition de manifeste de l'assembly localisé ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040) »

Cela se produit en quelque sorte sur System.Console.ReadLine() et quand je supprimer le paquet Newtonsoft.Json, tout fonctionne à nouveau. Maintenant, Newtonsoft.Json était juste un exemple, je peux ajouter System.Data.SqlClient et la même chose arrive. Parfois, un assemblage différent ne peut être chargé que celui mentionné dans l'exception ci-dessus.

J'ai inclus le projet. En outre, je peux facilement reproduire ce problème car j'ai créé d'innombrables fois de nouvelles applications console .NET Core 2.0 pour voir si mon projet était corrompu en quelque sorte.

Mon projet (la dernière exécution sur Visual Studio Preview): https://ufile.io/yp9xd

Edit 1: Je réinstallée Visual Studio 2017 et maintenant je suis en cours d'exécution non seulement aperçu. J'ai également réinstallé .NET Core 2.0 et effacé le cache de Nuget. Tout cela ne prévaut pas. Le même résultat continue à se moquer de moi.

Édition 2: J'ai localisé la source du problème. Renvoi à: https://github.com/JamesNK/Newtonsoft.Json/issues/1423

Répondre

1

La cause du problème a été identifiée. Lorsque vous définissez la configuration suivante dans le fichier csproj, vous rencontrerez mon problème.

<BaseIntermediateOutputPath>any-name-except-obj</BaseIntermediateOutputPath>