AJAX Control Toolkit发布到Visual Studio Online失败

时间:2014-01-14 18:40:11

标签: ajax build build-process azure-devops

我有一个项目,到目前为止我已经花了一个多星期(所以开始新鲜的胜利并没有真正起作用),包括使用.Net 4.5的AJAX Control Toolkit。

我有Visual Studio 2012,并且我已经通过Nuget安装了AJAXControlToolkit作为参考。然后我进行了构建,并将控件从该构建的bin文件夹拖放到我的工具箱中。

我的WebConfig也提供了工具包的参考:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <appSettings/>
    <system.web>
        <compilation debug="true" targetFramework="4.5">
            <assemblies>
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="AjaxControlToolkit"/>
            </assemblies>
        </compilation>
        <httpRuntime/>
        <pages controlRenderingCompatibilityVersion="4.0">
            <controls>
                <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" namespace="AjaxControlToolkit"/>
            </controls>
        </pages>
    </system.web>
    <system.webServer>
        <handlers>
            <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
            <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
            <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
            <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0"/>
            <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0"/>
            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
        </handlers>
    </system.webServer>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
                <bindingRedirect oldVersion="0.0.0.0-2.1.0.4" newVersion="2.1.0.4"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

我正在通过TFS构建到使用Visual Studio Online的在线目标,但每次构建都会导致这组错误:

17个错误,4个警告   $ / SCEIP / SCEIP.sln - 17个错误,4个警告 查看日志文件

错误:

  • Application \ step1.aspx.designer.cs(274):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ eligibility.aspx.designer.cs(58):类型或命名空间 name&#39; AjaxControlToolkit&#39;无法在全局命名空间中找到 (你错过了一个程序集引用吗?)
  • Application \ eligibility.aspx.designer.cs(148):类型或命名空间 name&#39; AjaxControlToolkit&#39;无法在全局命名空间中找到 (你错过了一个程序集引用吗?)
  • Application \ eligibility.aspx.designer.cs(193):类型或命名空间 name&#39; AjaxControlToolkit&#39;无法在全局命名空间中找到 (你错过了一个程序集引用吗?)
  • Application \ step1.aspx.designer.cs(112):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(148):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(175):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(247):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ eligibility.aspx.designer.cs(103):类型或命名空间 name&#39; AjaxControlToolkit&#39;无法在全局命名空间中找到 (你错过了一个程序集引用吗?)
  • Application \ step1.aspx.designer.cs(328):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(346):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(400):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(418):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(436):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(454):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • Application \ step1.aspx.designer.cs(472):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)
  • SCEIP.Master.designer.cs(40):类型或命名空间名称 &#39; AjaxControlToolkit&#39;无法在全局命名空间中找到(是 你错过了一个装配参考?)

警告:

  • C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets (1605):无法解析此引用。无法找到 汇编&#34; AjaxControlToolkit&#34;。检查以确保装配存在 在磁盘上。如果您的代码需要此引用,您可能会得到 编译错误。
  • C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets (1605):无法解析此引用。无法找到 汇编&#34; AjaxMin&#34;。检查以确保磁盘上存在程序集。 如果您的代码需要此引用,则可能会进行编译 错误。
  • C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets (1605):无法解析此引用。无法找到 汇编&#34; HtmlAgilityPack&#34;。检查以确保组件存在 磁盘。如果您的代码需要此引用,您可能会得到 编译错误。
  • C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets (1605):无法解析此引用。无法找到 汇编&#34; Newtonsoft.Json,版本= 4.5.0.0,文化=中立, PublicKeyToken = 30ad4fe6b2a6aeed,processorArchitecture = MSIL&#34;。校验 确保程序集存在于磁盘上。如果这个参考是 您的代码需要,您可能会遇到编译错误。

我的构建在本地(当然)工作正常,但如果我无法发布它,那么它就失败了。我已经在网上看了一遍,但发现什么似乎都没有提供任何帮助。

1 个答案:

答案 0 :(得分:1)

使用NuGet,您可以在构建过程中依赖包还原来确保加载依赖项。无需将packages文件夹检查到源代码管理中。

正如评论中所提到的,有blog post解释了此特定情况的修复方法。

官方NuGet网站上还有文档解释how to configure projects with package restore and Team Build