试图找到"缺少依赖性"加载Microsoft.AspNet.WebApi.Client时的T4文件System.Net.Http.Formatting.dll

时间:2015-06-18 16:22:07

标签: c# dependencies webclient asp.net-web-api2 t4

我正在使用有形工程" T4编辑器"虽然仍然有点缺陷,但它是一个非常好的T4编辑器,在配置使用WebApi Client的T4模板时,它会继续显示以下消息:

  无法加载

" $(SolutionDir)软件包\ Microsoft.AspNet.WebApi.Client.5.2.3 \ lib \ net45 \ System.Net.Http.Formatting.dll。加载期间出现异常:无法找到依赖项!"

我已经搜索了包的NuGet存储库条目,跟踪了所有"依赖关系"链接,通过" assembly"添加相应的程序集。在问题输入之前的条目,但我仍然收到错误。从下面的代码中可以看出,我把所有东西扔进去但厨房下沉无济于事。这里的一点指导会有很长的路要走。 我的环境是Visual Studio 2013 Premium,ReSharper,PowerTools,当然还有Tangible的T4编辑器(可以为那些想要尝试并复制错误的人下载免费版本,不,我不会&# 39;为他们工作,我也不会从他们那里得到补偿 - 我只是喜欢它。 以下是模板:

<#@ 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" #>

1 个答案:

答案 0 :(得分:0)

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

如果那些&#34;缺失&#34;只是复制到其他所有内容的目录(来自你自己的库的独特包,有其他依​​赖项的第三方库等)并包含所有内容,即&#34;错误&#34;应该消失。不是说这是确定的答案,但在某些情况下它会有所帮助。