无法从程序集中加载“SlowCheetah.Xdt.TransformXml”任务
Posted
技术标签:
【中文标题】无法从程序集中加载“SlowCheetah.Xdt.TransformXml”任务【英文标题】:The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly 【发布时间】:2013-11-25 00:47:15 【问题描述】:在我的解决方案中将 Slow Cheeath (v. 2.5.10.3) 安装到两个项目后,我收到以下错误:
"The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly C:\Users
\User\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll. Could
not load file or assembly 'file:///C:\Users\User\AppData\Local\Microsoft\MSBuild
\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot
find the file specified. Confirm that the <UsingTask> declaration is correct, that the
assembly and all its dependencies are available, and that the task contains a public
class that implements Microsoft.Build.Framework.ITask. ISA.IMPD.FalseAlarm.Web.Portal"
我已经完全删除了这两个项目(连同 Slow Cheetah),重新安装了这两个项目(连同 Slow Cheetah),并重新构建了解决方案,但无济于事。任何人都可以帮助解决此类错误吗?
【问题讨论】:
【参考方案1】:在我的情况下,编译 Web 项目时发生错误。文件夹
%userprofile%\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2
是空的。所有的 SlowCheetah 组件都在 SlowCheetah\v1 文件夹中。我已将所有文件从 V1 文件夹复制到 v2.5.10.2 并且一切都编译和转换得很好。为了使非 Web 项目编译,我还必须按照 Whoever 在此线程中的建议删除 V1 文件夹。
这是一个全新的 SlowCheetah 扩展安装,我没想到 v1 文件夹会存在。我相信这是 Visual Studio 2012 扩展安装中的一个错误。
【讨论】:
我还需要重启 VS 2013。 @RobertGraves - 我所要做的就是重新启动,感谢您结束了我的头疼的时间【参考方案2】:删除
AppData\Local\Microsoft\MSBuild\SlowCheetah\v1
【讨论】:
如果您解释了它的工作原理,这将是一个更好的答案。另外,这是您希望此人删除的文件夹吗?这样做会有什么后果? 取决于您使用的 Windows 版本,可能是 c:\Users\YourWindowId\AppData\... 我认为这只发生在旧版 webform 应用程序、新 MVC、WebApi 中升级 SlowCheetah 时项目似乎很好。可能只是版本参考/更新细节略有不同。删除文件夹,一切都会好起来的。 我需要将v1文件夹的内容复制到v2.5.10.2文件夹中,然后再删除。只是删除 v1 文件夹而不复制内容并没有达到预期的效果。 是的,为我工作。直到我下一次启动“VS2012 Update 4”,此时 v1 目录又回来了,还有这个错误。 每次运行 Nuget 包还原时,都会再次添加该文件夹,我必须手动删除它。关于如何永久删除的任何想法?【参考方案3】:我似乎找到了解决这个问题的方法。
这就是我所做的:
您需要关闭 Visual Studio,然后导航到:
C:\Users\username\AppData\Local\Microsoft\VisualStudio\11.0\Extensions
删除日期和时间最新的缓存文件
打开 Visual Studio 并从解决方案级别删除 Slow Cheetah
从解决方案级别重新安装 Slow Cheetah 到所需的项目。
【讨论】:
【参考方案4】:这在我们的构建服务器上失败了,所以我将修订号从:
<sc-MSBuildLibPathLocal Condition=" '$(sc-MSBuildLibPathLocal)'=='' ">$(LocalAppData)\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\</sc-MSBuildLibPathLocal>
收件人:
<sc-MSBuildLibPathLocal Condition=" '$(sc-MSBuildLibPathLocal)'=='' ">$(LocalAppData)\Microsoft\MSBuild\SlowCheetah\v2.5.10.3\</sc-MSBuildLibPathLocal>
为什么它指向 v2.5.10.2 是一个谜,但我肯定在使用 v2.5.10.3!看起来 nuget 包本身有错误。
【讨论】:
【参考方案5】:我是这样解决的:
-
卸载 slowcheetah => 工具>扩展和更新
当 VS 要求您重新启动 VS 时单击“确定”。
在“C:\Users\AppData\Local\Microsoft\MSBuild\SlowCheetah”中删除 'v1' 文件夹(在重新启动 VS 时 windows 会自动创建该文件夹)(这里是龙..)
重新安装 slowcheetah(参见步骤 1)=> 将创建一个新文件夹 v2.5.10.2。
再次,当他要求重新启动时单击“确定”
构建您的解决方案
问候,
彼得
【讨论】:
【参考方案6】:使用上下文菜单中的预览转换功能后,这个问题就解决了。原建议here。
仅供参考,这是在 VS 2010 Premium 上。
【讨论】:
这是迄今为止最简单的解决方案,也是我开始着手的解决方案。 @gnud 不认为你记得简单的解决方案是什么?立即链接 404。 解决方案是,就像他写的那样,右键单击转换文件,然后在 Visual Studio 中按“预览转换”。之后,它也可以在构建期间工作。【参考方案7】:拥有多个版本可能会导致冲突。
就我而言,我已经安装了 Microsoft 的 Microsoft.VisualStudio.SlowCheetah 和 Sayed Ibrahim Hashimi 的 SlowCheetah。从 Microsoft 卸载软件包后,一切顺利。
【讨论】:
【参考方案8】:我已经删除了 C:\Users\\AppData\Local\Microsoft\MSBuild\SlowCheetah\v1 中的旧文件。我还需要将 Visual Studio 2012 升级到 update 4 以使其正常工作。
【讨论】:
【参考方案9】:我能够通过执行以下操作来解决此问题:
-
从工具 > 扩展和更新...菜单卸载 SlowCheetah 扩展
关闭 Visual Studio
删除“C:\Users\username\AppData\Local\Microsoft\VisualStudio\11.0\Extensions”文件夹中的所有文件
打开 Visual Studio
从 TOOLS > Extensions and Updates... 菜单重新安装 SlowCheetah(需要重新启动 Visual Studio)
这是使用带有 Update 4 和 SlowCheetah 版本 2.5.10 的 Visual Studio 2012 Premium。
【讨论】:
【参考方案10】:如果您在 TFS 构建服务器(在我的情况下为 TFS Express 2013)上遇到此错误,那么您需要从本地计算机复制文件
C:\Users\SWEAVER\AppData\local\Microsoft\MSBuild\SlowCheetah
在您的机器上运行您的 TFS 构建的任何用户
C:\users\TFSBuild\AppData\Local\Microsoft\MSBuild\SlowCheetah
请注意AppData
是一个隐藏目录,您可能看不到,但只需输入名称并回车即可。
我使用的是 VS2013,所以我没有复制 v1(我认为 v1 是针对 VS2012 的)。
我得到的原始 TFS 错误是:
C:\Builds\1\www.XXXXX.com\RRStore - XXXXX Silverlight\Sources\RRStore.AdminConsole\Properties\SlowCheetah\SlowCheetah.Transforms.targets (150):无法加载“SlowCheetah.Xdt.TransformXml”任务 从大会 C:\Users\TFSBuild\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll。 无法加载文件或程序集 'file:///C:\Users\TFSBuild\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll' 或其依赖项之一。该系统找不到指定的文件。 确认声明正确,即组装 并且它的所有依赖项都是可用的,并且该任务包含一个 实现 Microsoft.Build.Framework.ITask 的公共类。
幸运的是,这个错误告诉我文件的确切位置。
【讨论】:
【参考方案11】:我在 Visual Studio 2013 中遇到了同样的问题。只需安装 SlowCheetah NuGet 包:
https://www.nuget.org/packages/SlowCheetah
【讨论】:
【参考方案12】:他们发布了一个新版本,更新了安装过程:
https://blogs.msdn.microsoft.com/visualstudio/2017/05/25/whats-new-and-improved-with-the-slowcheetah-extension/
关闭 Visual Studio 安装VISX扩展 打开您的项目。 此版本会检测您是否已安装并提供升级。厌倦了必须手动安装 NuGet 包才能获得 慢猎豹上班?我们添加了自动 NuGet 安装以提供帮助 简化您的流程。您只需要安装最新的 扩展和 SlowCheetah 将负责其余的工作。当你使用 第一次做SlowCheetah的项目,它会提示你 安装或更新 NuGet 包。同意,您就可以开始了!
我建议您检查源代码管理,然后比较您的 .csproj 文件,看看它做了哪些更改。
【讨论】:
这个新版本对VS2015 + VS2017有适当的支持(保留VS2012 + VS2013支持)以上是关于无法从程序集中加载“SlowCheetah.Xdt.TransformXml”任务的主要内容,如果未能解决你的问题,请参考以下文章
Oracle .Net ManagedDataAccess 错误:无法从程序集中加载类型“OracleInternal.Common.ConfigBaseClass”