Closed almightyju closed 1 year ago
Probably related https://github.com/dotnet/razor/issues/8718
I have the same issue (a component that's derived from a base component and the property to @bind
to is in the base component).
This is blocking for us. I have to pin the sdk version to 7.0.203 to be able to build.
It's very strange behavior to say the least... the compiler is complaining, but the error is not visible in the code (with the red squiggle) like it normally is.
When I use @bind-Value
(where the Value and ValueChanged properties are defined in the base class) like this;
<MyComponent @bind-Value="_value" />
I get:
error RZ9991: The attribute names could not be inferred from bind attribute 'bind-Value'. Bind attributes should be of the form 'bind' or 'bind-value' along with their corresponding optional parameters like 'bind-value:event', 'bind:format' etc.
And when I remove the @bind-Value
:
<MyComponent />
I get another error:
error RZ10012: Found markup element with unexpected name 'MyComponent'. If this is intended to be a component, add a @using directive for its namespace.
I have tried adding a @using statement, or fully qualifying the namespace, but nothing helps.
same issue. it work fine use 7.0.203
Sorry you're hitting this. Seems like a regression fixed by https://github.com/dotnet/razor/pull/8614 but not yet in .NET 7. To confirm, try if your code works with .NET 8 SDK preview.
I found a way around it, by reading some of the other issues that have been posted about this.
I simply had to derive the "most" base component in the hierarchy chain from ComponentBase
explicitly (in a the .razor.cs file), and this fixed the errors for us.
I simply had to derive the "most" base component in the hierarchy chain from ComponentBase explicitly (in a the .razor.cs file), and this fixed the errors for us.
Does not work for me.
I am having this same issue. Addng ComponentBase to the base class (partial) in a razor.cs file didnt help
@bobwinners
Try splitting your BasePage into two physical files (.cs and .razor).
BasePage.cs should look like this:
public partial class BasePage : ComponentBase
{
//...
}
This worked for me.
@sam-wheat I tried that and it didn't work. Thanks.
@bobwinners you should stick with previous SDK using global.json
{
"sdk": {
"version": "7.0.203"
}
}
More info: https://learn.microsoft.com/en-us/dotnet/core/tools/global-json
This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment. If it is closed, feel free to comment when you are able to provide the additional information and we will re-investigate.
Please see our Issue Management Policies for more information.
Closing as duplicate of https://github.com/dotnet/razor/issues/8718.
Is there an existing issue for this?
Describe the bug
When using a control
WrappedSwitch
that extends another controlWrappedCheckbox
which then extendsInputBase<bool>
using the WrappedSwitch with@bind-Value="SomeBool"
will compile ok in 7.0.203 but in 7.0.302 results in:Expected Behavior
The code should compile in both sdk vesions
Steps To Reproduce
Create a new blazor wasm project from a template.
In the shared folder create the following controls:
WrappedCheckbox
WrappedSwitch
Then replace the Index page with:
Compile using both sdks and 203 will succeed while 302 fails
Exceptions (if any)
No response
.NET Version
No response
Anything else?
No response