在Visual Studio中一切正常,且创建了一个包含适当dll的Components目录。然而,TeamCity无法检索Android Support Library dlls,因为还需要加载Xamarin VS插件才能触发恢复操作。对于Xamarin来说,相当于nuget package restore的操作是使用xamarin-component。我已经将xamarin-component.exe放置在了C:\Windows目录下。为了配置TeamCity,我在前面添加了一个命令行构建步骤。
当我在cmd中打开我的解决方案并尝试还原时,我会下载组件,并出现Json解析错误。这与我在TeamCity中遇到的错误相同。
如果使用“管理员”(将凭据存储在C:\Users\Administrator中),我也会遇到这个错误。之前我使用个人帐户时是可以的。然而,一旦我删除了C:\Users\tim\AppData\Local\Xamarin\Cache\Components,就会出现相同的问题。Fiddler显示,我们没有像输入无效令牌时那样收到Json返回结果,而是收到一个302重定向,说对象已经被移动到“这里”。这里指的是xamarin登录页面,显然不是Json。
尝试过:
1. 将COOKIE_JAR_PATH设置为C:\Users\tim.xamarin-credentials - xpkg可以识别,但出现相同的错误 2. 从Config\system32复制.xamarin-credentials到D:\,将COOKIE_JAR_PATH设置为D:.xamarin-credentials - xpkg可以识别,但出现相同的错误 3. 将.xamarin-credentials移到C:\,设置COOKIE_JAR_PATH - 出现相同的错误 4. 使用NT Authority重新登录,将COOKIE_JAR_PATH设置为C:.xamarin-credentials - 出现相同的错误 我现在的临时想法是找出NT Authority xamarin-component查找Cache的位置,并将文件放在那里。
我的xamarin-component版本是0.99 - 为了达到100,我们会更加努力...
Command executable: xamarin-component
Command parameters: restore mysolution.sln
TeamCity作为NT Authority\System运行。因此,使用PsExec,
psexec -i -s %SystemRoot%\system32\cmd.exe
如果我运行 'xamarin-component login'
INFO (login): Computed cookie jar path: C:\Windows\system32\config\systemprofile\.xamarin-credentials
INFO (login): Computed cookie jar path: C:\Windows\system32\config\systemprofile\.xamarin-credentials
INFO (login): Credentials successfully stored.
当我在cmd中打开我的解决方案并尝试还原时,我会下载组件,并出现Json解析错误。这与我在TeamCity中遇到的错误相同。
如果使用“管理员”(将凭据存储在C:\Users\Administrator中),我也会遇到这个错误。之前我使用个人帐户时是可以的。然而,一旦我删除了C:\Users\tim\AppData\Local\Xamarin\Cache\Components,就会出现相同的问题。Fiddler显示,我们没有像输入无效令牌时那样收到Json返回结果,而是收到一个302重定向,说对象已经被移动到“这里”。这里指的是xamarin登录页面,显然不是Json。
尝试过:
1. 将COOKIE_JAR_PATH设置为C:\Users\tim.xamarin-credentials - xpkg可以识别,但出现相同的错误 2. 从Config\system32复制.xamarin-credentials到D:\,将COOKIE_JAR_PATH设置为D:.xamarin-credentials - xpkg可以识别,但出现相同的错误 3. 将.xamarin-credentials移到C:\,设置COOKIE_JAR_PATH - 出现相同的错误 4. 使用NT Authority重新登录,将COOKIE_JAR_PATH设置为C:.xamarin-credentials - 出现相同的错误 我现在的临时想法是找出NT Authority xamarin-component查找Cache的位置,并将文件放在那里。
C:\Windows\system32\config\systemprofile\AppData\Local\Xamarin\Cache\Components\xamandroidsupportv4-18-4.18.1.xam
我的xamarin-component版本是0.99 - 为了达到100,我们会更加努力...