1

我刚刚使用 refit 包(2.3.0.-> 2.4.1)更新了 Xamarin 解决方案,现在构建抱怨:

RefitStubs.g.cs(37,27): error CS0102: The type `Sample.App.Api' already contains a definition for `Client'
    RefitStubs.cs(37,27): (Location of the symbol related to previous error)

我尝试恢复包版本,但出现同样的错误。我已经清理了解决方案,但仍然是同样的问题

4

4 回答 4

1

查看项目根目录中是否有 refitStubs.cs 文件并将其删除。为我工作;)

于 2015-11-19T11:16:44.473 回答
1

我从生成的文件中遇到了相关问题...我不知道为什么有时在(重新)构建全部期间文件没有被覆盖,但是在我见过的*.g.cs其他项目中,请确保您没有在您的项目 (.csproj) 中引用生成的文件本身,这有时会在您调试*.g.cs文件时发生。

此外, Clean All不会从目录中删除 Refit 构建任务生成的文件RefitStubs.g.cs(或RefitParams.rspobj

尝试删除obj目录并再次执行(Re)Build All以查看是否有帮助。

(重新)构建所有之后:

obj/ > ls -1
RefitParams.rsp
RefitStubs.g.cs
refit-test.csproj.FilesWrittenAbsolute.txt
refit-test.exe
refit-test.exe.mdb

全部清洁后:

obj/ > la -1
RefitParams.rsp
RefitStubs.g.cs
于 2015-10-27T10:51:19.267 回答
0

就像@cristianomad 所说的那样,这是因为Refit从使用公共的RefitStubs.cs转移到位于/obj文件夹中的RefitStubs.g.cs,因此在两个文件中生成相同的类。

只需删除旧的RefitStubs.cs文件就可以了。

于 2016-11-26T20:00:39.353 回答
0

Sorted by resorting back to the previous version of Refit

于 2015-10-27T10:33:01.520 回答