无法从程序集中加载“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/

厌倦了必须手动安装 NuGet 包才能获得 慢猎豹上班?我们添加了自动 NuGet 安装以提供帮助 简化您的流程。您只需要安装最新的 扩展和 SlowCheetah 将负责其余的工作。当你使用 第一次做SlowCheetah的项目,它会提示你 安装或更新 NuGet 包。同意,您就可以开始了!

关闭 Visual Studio 安装VISX扩展 打开您的项目。 此版本会检测您是否已安装并提供升级。

我建议您检查源代码管理,然后比较您的 .csproj 文件,看看它做了哪些更改。

【讨论】:

这个新版本对VS2015 + VS2017有适当的支持(保留VS2012 + VS2013支持)

以上是关于无法从程序集中加载“SlowCheetah.Xdt.TransformXml”任务的主要内容,如果未能解决你的问题,请参考以下文章

C#:无法从程序集中加载类型

无法从程序集中加载 BuildTasks.Csc 任务?

Oracle .Net ManagedDataAccess 错误:无法从程序集中加载类型“OracleInternal.Common.ConfigBaseClass”

未能从程序集中加载类

WPF:从当前程序集中动态加载图像

使用 Ninject 和 wpf 从所有程序集中加载模块