J'utilise VS2013 update 1 avec Nuget v 2.8.50313.46.
Vous pouvez passer à c'est la partie importante et quelques mises à jour récentes, et revenez-y pour vous y référer.
J'ai une solution VS, ceci en est une représentation simplifiée.
-- Solution
- Base (Class Library)
Packages:
No Packages Installed.
References:
System
System.Configuration
System.Core
System.Runtime.Caching
System.Web
- AppBase (Class Library)
Packages:
No Packages Installed.
References:
System
System.Core
System.Web.Http
Base
- Client (Console Application)
Packages:
EntityFramework v6.1.0
HtmlAgilityPack v1.4.6
References:
EntityFramework
EntityFramework.SqlServer
HtmlAgilityPack
System
System.Core
AppBase
Base
- Server (Web Application)
Packages:
HtmlAgilityPack v1.4.6
Microsoft.AspNet.WebApi v5.1.2
Microsoft.AspNet.WebApi.Client v5.1.2
(dependent on > Newtonsoft.Json v4.5.0)
Microsoft.AspNet.WebApi.Web... v5.1.2
Newtonsoft.Json v6.0.3
References:
HtmlAgilityPack
Newtonsoft.Json
System
System.Net.Http
System.Net.Http.Formatting
System.Web
System.Web.Http
System.Web.HttpHost
AppBase
Base
Le code à l'intérieur du Server
besoins Newtonsoft.Json v6.0.3
pour fonctionner.
Lorsque je reconstruis tout et que j'exécute, tout fonctionne bien, comme prévu.
Je construis ensuite juste AppBase
sans bâtiment Server
. AppBase
ne dépend que de Base
. Les binaires pour AppBase
y Base
sont "à jour", comme prévu.
Cependant,
c'est la partie importante ,
la construction de AppBase
provoque le Newtonsoft.Json.dll
dans la section "Serveur \bin "pour remplacer la version antérieure 4.5.
Lorsque je fais une demande à la Server
un message d'erreur "500 Intrernal Server Error" est renvoyé en raison de l'erreur de liaison causée par l'adresse incorrecte. Newtonsoft.Json
version dll.
Pourquoi la construction d'un assemblage affecte-t-elle un assemblage non dépendant ?
Quelqu'un d'autre a-t-il connu ce problème ?
Quelle est la meilleure façon de résoudre ce problème ?
EDIT 19/06/2014
J'ai créé un nouveau fichier de solution, j'ai d'abord pensé que cela avait résolu le problème. Cependant, le problème a été transféré au fichier System.Net.Http.Formatting.dll
:-S
Si j'édite AppBase
donc il ne fait pas référence System.Web.Http
l'effet disparaît. Peut-être que cela a quelque chose à voir avec le truc MVC dans Program Files ? ...
EDIT 20/06/2014
J'ai posté un réponse de la communauté wiki qui détaille comment j'ai contourné le problème. J'ai pensé que quelqu'un pourrait trouver cela utile. Cependant, la solution de contournement n'explique pas quel est le mécanisme qui affecte Server
quand je construis seulement AppBase
y Base
. Est-ce que cela ressemble à un bug, cela semble faux ?