C# 使用TeamFoundation生成时的ArgumentException
我正在使用Visual Studio online管理我的源代码。我还使用了持续集成,这意味着我的源代码是在TFS(Visual Studio Online)上的云中编译的。 我有自己的构建过程模板和一些代码活动。从现在起,一切都很好。编辑活动和模板后,每次启动构建时,都会出现以下错误:C# 使用TeamFoundation生成时的ArgumentException,c#,visual-studio,xaml,tfs,azure-devops,C#,Visual Studio,Xaml,Tfs,Azure Devops,我正在使用Visual Studio online管理我的源代码。我还使用了持续集成,这意味着我的源代码是在TFS(Visual Studio Online)上的云中编译的。 我有自己的构建过程模板和一些代码活动。从现在起,一切都很好。编辑活动和模板后,每次启动构建时,都会出现以下错误: TF215097: An error occurred while initializing a build for build definition \BuildTest\BuildTasks: Excep
TF215097: An error occurred while initializing a build for build definition \BuildTest\BuildTasks:
Exception Message: Expression of type 'Microsoft.TeamFoundation.Build.Workflow.Activities.AgentReservationSpec' cannot be used for return type 'Microsoft.TeamFoundation.Build.Workflow.Activities.AgentReservationSpec' (type ArgumentException)
Exception Data Dictionary:
MS.TF.Diagnostics.Logged = True
一个奇怪的副作用是,VisualStudio中构建模板的参数顺序现在是混合的,还有一些参数没有在模板中定义。这不仅适用于我的自定义模板,也适用于Microsoft的默认模板
有人能帮我吗?我的本地TFS实例也有同样的问题。我从TFS中的CustomActivities文件夹中删除了所有DLL,错误消失了。
现在,第二个steop是识别导致问题的CustomAction…此类错误的原因是由于程序集的两个版本提供了同时可见的错误类型。从中分配的值来自其中一个,分配给的值来自另一个 当我意外地将Microsoft.TeamFoundation程序集加载到源代码管理中的“自定义活动”位置时,发生了这种情况。移除这些组件使问题对我来说消失了
另外值得注意的是,如果您的构建控制器上安装了多个版本的TFSAPI(多个版本的VisualStudio可以做到这一点)。您可能需要在项目中对TFS程序集的引用中使用显式版本(完整的强名称语法),以确保加载正确的API版本。这就是我的问题的解决方案。尽管如此,我认为接受的答案也是解决方案,因为我在CustomAssemblys文件夹中包含了太多的程序集。