C# 试图找到;“缺少依赖关系”;用于加载Microsoft.AspNet.WebApi.Client System.Net.Http.Formatting.dll时的T4文件

C# 试图找到;“缺少依赖关系”;用于加载Microsoft.AspNet.WebApi.Client System.Net.Http.Formatting.dll时的T4文件,c#,dependencies,webclient,asp.net-web-api2,t4,C#,Dependencies,Webclient,Asp.net Web Api2,T4,我使用的是有形工程公司的“T4编辑器”,虽然仍有一些缺陷,但它是一个非常好的T4编辑器,在配置使用WebApi客户端的T4模板时,它继续显示以下消息: “$(SolutionDir)无法加载程序包\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll。加载过程中出现异常:找不到依赖项!” 我已经在NuGet存储库条目中搜索了包,跟踪了所有的“依赖项”链接,通过问题条目之前的“assembly”条

我使用的是有形工程公司的“T4编辑器”,虽然仍有一些缺陷,但它是一个非常好的T4编辑器,在配置使用WebApi客户端的T4模板时,它继续显示以下消息:

“$(SolutionDir)无法加载程序包\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll。加载过程中出现异常:找不到依赖项!”

我已经在NuGet存储库条目中搜索了包,跟踪了所有的“依赖项”链接,通过问题条目之前的“assembly”条目添加了相应的程序集,但我仍然收到错误。从下面的代码中可以看出,除了厨房的水槽,我把所有的东西都扔进去了,但都没有用。这里的一点指导会有很大的帮助。 我的环境是Visual Studio 2013 Premium、ReSharper、PowerTools,当然还有有形的T4编辑器(对于那些想要尝试并复制错误的人,可以下载免费版本,不,我不为他们工作,也不会因为推荐它而从他们那里得到补偿——我只是喜欢它)。 以下是模板:

<#@ template debug="true" hostSpecific="true" language="C#" #>
<#@ CleanupBehavior Processor="T4VSHost" CleanupAfterProcessingTemplate="true" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="System.Xml.Linq"#>
<#@ assembly name="System.Configuration" #>
<#@ assembly name="EnvDTE"#>
<#@ import namespace="System" #>
<#@ import namespace="System.Data"#>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Xml.Linq" #>
<#@ import namespace="System.Globalization" #>
<#@ import namespace="System.Reflection" #>
<#@ import namespace="System.CodeDom" #>
<#@ import namespace="System.CodeDom.Compiler" #>
<#@ import namespace="Microsoft.CSharp"#>
<#@ import namespace="System.Text"#>
<#@ import namespace="System.Configuration" #>
<#@ output extension=".generated.cs" #>
<#@ assembly name="System.Threading" #>
<#@ import namespace="System.Threading" #>
<#@ import namespace="System.Threading.Tasks" #>
<#@ assembly name="System.Collections" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ assembly name="System.Runtime.Serialization"#>
<#@ assembly name="$(SolutionDir)packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll" #>
<#@ assembly name="$(SolutionDir)packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.Tasks.dll"#>
<#@ assembly name="$(SolutionDir)packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll"#>
<#@ assembly name="$(SolutionDir)packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll"#>
<#@ assembly name="$(SolutionDir)packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll"#>
<#@ assembly name="$(SolutionDir)packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll" #>
<#@ assembly name="C:\AoCTools\AoCFramework\AoC.AoCTools.T4CodeGenerationCmn.dll" #>
<#@ assembly name="C:\AoCTools\AoCFramework\AoC.AoCTools.T4CodeGeneration.dll" #>
<#@ import namespace="AoC.AoCTools.T4CodeGeneration" #>
<#@ import namespace="AoC.AoCTools.T4CodeGenerationCmn" #>

我想在这里给出一个相对适用的答案。事实证明,T4小工具在尝试从GAC获取软件包时有点疏忽。它可以获取标准的GAC内容,但是没有找到提供的一些扩展


如果那些“丢失”的包只是复制到查找其他所有内容的目录中(来自您自己的库、具有其他依赖项的第三方库等的唯一包),并且包含所有内容,那么“错误”应该消失。不要说这是确定的答案,但在某些情况下会有所帮助。

您已经知道任何解决方案了吗?我也有同样的问题…没有。你在这里看到的就是我所知道的。问题是,它仍然有效,但我既不知道为什么也不知道为什么会显示“错误”…而且因为它并没有阻止我的开发,所以我没有对这个问题给予太多的关注。