Cap*_*ain 9 tfs xaml workflow-foundation tfsbuild tfs2010
我正在尝试创建一个CustomActivity,以便在每次成功构建后运行.
我已经按照几个教程的确切步骤进行了操作
所有这些都导致我得到相同的结果 - 几秒钟后构建失败并出现此错误:
TF215097: An error occurred while initializing a build for build definition
\MyCompany\Dev - Client: Cannot create unknown type '{clr-
namespace:BuildTasks.Activities;assembly=BuildTasks}TFSBuildLocalizer'.
Run Code Online (Sandbox Code Playgroud)
我发现我删除了CodeActivity项目中的所有自定义引用,并注释掉了所有代码.
我已将输出dll添加到TFS,并且我在项目的属性中有以下post构建脚本:
"$(DevEnvDir)\TF.exe" checkout "$/MyCompany/Development/Djenne/Dev/Tools/BuildProcess/Output/$(TargetFileName)"
copy /Y "$(TargetPath)" "C:\tfs2010\MyCompany\Dev\Tools\BuildProcess\Output\$(TargetFileName)"
"$(DevEnvDir)\TF.exe" checkin "$/MyCompany/Development/Djenne/Dev/Tools/BuildProcess/Output/$(TargetFileName)"
Run Code Online (Sandbox Code Playgroud)
我确保工作流xaml中的命名空间对于自定义CodeActivity是正确的.
我不知道我还能尝试什么,
请帮忙!
谢谢,
编辑:我正在添加更多关于我已经尝试过的内容的描述:
CodeActivity类已经具有以下属性:
[BuildActivity(HostEnvironmentOption.All)]
Run Code Online (Sandbox Code Playgroud)
CodeActivity类包含在Activity Library项目中.这是csproj文件中的ProjectTypeGuids标记:
<ProjectTypeGuids>{32f31d43-81cc-4c15-9de6-3fc5453562b6};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Run Code Online (Sandbox Code Playgroud)
在自定义工作流xaml中,我在"获取受影响的测试,索引源和发布符号"之后立即添加了我的CodeActivity
我目前在CodeActivity中没有任何InArgument或OutArgument.
这些是我的CodeActivity项目中的引用:
在"构建控制器属性"中,我将"自定义程序集的版本控制路径"设置为与我的后构建脚本具有相同的TFS路径:$/MyCompany/Development/Djenne/DEV/Tools/BuildProcess/Output
在我的构建定义中,我使用自定义工作流xaml设置了"构建流程模板".
谢谢你们的答案,你还有什么想法吗?谢谢
好的,我弄清楚了这件事.
这对我有用:
我已经在构建服务器中将我的dll安装到GAC,运行构建并突然工作了!
gacutil.exe /i buildtasks
Run Code Online (Sandbox Code Playgroud)
之后,我从GAC卸载了dll,它仍然保持工作状态.
gacutil.exe /u buildtasks
Run Code Online (Sandbox Code Playgroud)
另一件事,我的项目有几个引用,我也必须在与CodeActivity dll本身相同的目录中签入.所以要做到这一点我已经改变了我的项目的后期构建脚本:
cd "C:\tfs2010\Djenne\Dev\Tools\BuildProcess\Output\"
"$(DevEnvDir)\TF.exe" checkout "$/TradeNetworks/Development/Djenne/Dev/Tools/BuildProcess/Output/*.*"
xcopy "$(TargetDir)*.*" "C:\tfs2010\Djenne\Dev\Tools\BuildProcess\Output\" /E /R /C /Y
Run Code Online (Sandbox Code Playgroud)
现在唯一要做的就是弄清楚如何调试这个该死的东西.但这是另一个问题的问题.
感谢所有帮助过的人,
希望这对未来的任何人都有帮助.
编辑:
One more thing I've noticed is every time I edit my custom workflow, it regenerates the xaml and removes the ";assembly=BuildTasks" suffix from the custom CodeActivity namespace (xmlns). So after every change I need to edit the xaml to fix it over and over again, otherwise the same error reoccurres.
归档时间: |
|
查看次数: |
11137 次 |
最近记录: |