Comments (8)
That's mostly by design, as we wanted to keep non-ref assemblies with no changes. Making it possible to access private APIs if needed (for example, if somebody writes a custom backend).
But that's not ideal situation. Yes.
Alternative idea was to use C# analyzers, which would work better in this scenario. But won't support F# or other non-C# languages.
from avalonia.
Personally, I think it's best to allow this usage. It's a good middle road: you get the warning telling you not to use the API. If you need it or know better you can override.
from avalonia.
I would be fine with that as well, but I'd expect an analyzer warning I can silence. With the current setup, Rider shows an error that I can't get rid of.
from avalonia.
With the current setup, Rider shows an error
As it should.
that I can't get rid of.
<AvaloniaAccessUnstablePrivateApis>true</AvaloniaAccessUnstablePrivateApis>
from avalonia.
I think my gripe is that it's an error, not a warning. Yet, it still behaves like a warning. I'm fine with Rider flagging usage, but not in a way that abuses ref assemblies.
For example, for #8266, I was told to try reimplementing LinearGradientBrush
myself with some changes to test a potential fix. However, the error in Rider led me to believe that I couldn't, so I didn't even try. If it was instead a warning about an "unstable" interface, I could've just ignored it to try.
Also, that property is not documented anywhere on the website.
from avalonia.
Also, that property is not documented anywhere on the website.
Correct. We don't want users to rely on this property, as these APIs are unstable and can break in minor releases. Still, this option exists.
from avalonia.
This is rather interesting. Previously Roslyn was using reference assemblies for compilation and the build would fail.
Perhaps something got changed in .NET SDK?
from avalonia.
Actually, CoreCompile is being fed with 11.0.0/ref/net6.0/Avalonia.dll
, not sure why compiler ignores the internal interface member there.
from avalonia.
Related Issues (20)
- DataGrid Adaptive exception HOT 6
- AutoCompleteBox not biding SelectedItem when using AsyncPopulator HOT 1
- Screen API refactoring HOT 5
- Android - Crash on bluetooth keyboard device connection and disconnection HOT 2
- [Linux] WindowStartupLocation does not respect DesktopScaling factor HOT 2
- [11.1-beta2] Regression: Window System buttons is not visible when `ExtendClientAreaToDecorationsHint="True"` HOT 2
- AccessViolationException when using RenderDoc on Windows HOT 1
- Copying of file not working as expected
- TabControl item headers go invisible after screen change
- Windows OpenGL FullScreen artifacts with popups and wrong mouse hittests HOT 3
- Double autocompletebox dropdown HOT 2
- Feature Request: Keep a single VkDevice alive per VkInstance so RenderDoc works HOT 1
- Using a string literal for a Label target provokes InvalidCastException when used in a ControlTemplate
- FluentTheme ignores TopLevel.ActualTransparencyLevel HOT 1
- Inconsistent Gesture event names HOT 1
- Consider unsealing the Render() of the Panel? HOT 6
- Alt codes do not produce expected characters
- "Call from invalid thread" process crash after tray icon menu item is invoked HOT 5
- Browser mvvm error HOT 4
- Setting `FontSize` = 0 crashes the previewer in VS 2022
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 avalonia.