Comments (8)
Looking into this. If we can get the fully qualified type name, we can use the global:: syntax for it. It'll be ugly as hell in the generated code...but oh well.
from refit.
Doesn't full qualifying the types on the interface itself fix it? I think we use them as-is, so that should pass as a workaround.
How much time will coverting the syntax tree to a semantic tree add to builds (especially for big projects)?
from refit.
Check out my branch with the repro. It's not the interface it's the parameters to the methods.
So
namespace 1: MyType
namespace 2: MyType
namespace Services
file IMyService1.cs: IMyService1, in the file has using namespace 1. then Task Foo(MyType blah)
file IMyService2.cs: IMyService2, in the file has using namespace 2. then Task Foo(MyType blah)
Barf.
from refit.
Yeah, I mean can't you fully qualify MyType
in the interface definition?
public interface IMyService1
{
Task Foo(Namespace1.MyType blah);
}
from refit.
You have to do that for both interfaces....it's a workaround that works, but it's nasty.
from refit.
Ok, so I don't want to hold you up @bennor if you want to take a stab at fixing this; I probably won't have time to do more on it this weekend.
Checking out this PR and using "..\..\..\Refit-Tests\RefitStubs.cs"
as the command line args to the InterfaceStubGenerator should make it easy to debug though.
from refit.
Will have a look a bit later on today if I get time. 👍
from refit.
RefitStubs.cs doesn't exist anymore, so this should be fixed
from refit.
Related Issues (20)
- [Bug]: Refit 6.5.1 is no longer available on nuget.org HOT 3
- [Bug]: CollectionFormat.Csv causes strings to be serialized as comma separated chars
- [Bug]: Naming the interface to end with "Client" will result in an error during injection.
- Generated code should use `Array.Empty` or constant field where possible HOT 1
- [Bug]: Failed to generate generated classes in Azure Devops with Refit version 6.3.2 and 7.0.0
- Suggestion: run code cleanup/formatter HOT 1
- Target .NET 8 in Refit HOT 4
- Make fullstack C# development easier
- Add handlers to the interface method parameters and headers before generating the HttpRequestMessage
- [Bug]: POST request sent as GET HOT 9
- [Bug]: Long-lived HttpClient instance despite use of IHttpClientFactory HOT 1
- [Bug]: HttpClients not disposed
- [Bug]: Request streams get disposed and there is no option to avoid it
- Source generator for minimal API
- [Bug]: Cannot set the Content-Type header for a POST request HOT 2
- [Bug]: Refit Does Not Generate Implementations if 3+ Interfaces Share a Name HOT 1
- [Bug]: exception with TrimMode full: "URL /path/{id} has parameter id, but no method parameter matches"
- Dependency Dashboard
- [NiceToHave]: Interface `IApiResponse<out T>` misses `[MemberNotNullWhen(true, nameof(Content))]` attribute
- [Bug]: Using `Refit.HttpClientFactory` with a .Net 8 Blazor Web App HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from refit.