C# 调试版本和发布版本之间的WPF应用程序布局差异
我们在VisualStudio的WPF中制作了一个非常简单的应用程序,用于向数据库添加数据。它对数据进行了验证,如果验证失败,则会显示红色错误消息,指出错误所在,并且包含无效数据的文本框用红色边框包围。 这在调试模式下运行良好。当我们进行发布构建或在VS中以发布模式运行应用程序时,红色边框不在那里,但红色错误消息仍然出现,表明验证仍然成功 为什么调试时会显示红色边框,而发行版中不会显示?有没有人有过类似的问题?有人能给我指出应该看的方向吗 此外,如果我在代码中放置断点,则在发布模式下不会命中断点,即使“高级生成设置”>“调试信息”处于完全状态,并且在调试属性中“仅我的代码”处于禁用状态 任何帮助都将不胜感激 编辑: XAML代码C# 调试版本和发布版本之间的WPF应用程序布局差异,c#,wpf,visual-studio,frontend,C#,Wpf,Visual Studio,Frontend,我们在VisualStudio的WPF中制作了一个非常简单的应用程序,用于向数据库添加数据。它对数据进行了验证,如果验证失败,则会显示红色错误消息,指出错误所在,并且包含无效数据的文本框用红色边框包围。 这在调试模式下运行良好。当我们进行发布构建或在VS中以发布模式运行应用程序时,红色边框不在那里,但红色错误消息仍然出现,表明验证仍然成功 为什么调试时会显示红色边框,而发行版中不会显示?有没有人有过类似的问题?有人能给我指出应该看的方向吗 此外,如果我在代码中放置断点,则在发布模式下不会命中断点
<TextBox Text="{Binding CredentialLogin, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" Grid.Column="2" Margin="4">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsLoginValid}" Value="False">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
这是一个稍微缩短的代码版本,有更多的验证,但我只显示用户名一个,其余的几乎相同,只有其他属性您可以共享一些代码吗?在发布配置中未命中断点并不一定意味着代码未运行,只是文件中的代码与执行的IL指令不匹配。您希望看到哪一部分,因为我真的不知道共享什么代码会很有趣…错误消息应该出现在哪里的XAML代码和设置代码(并且不会命中)的C#代码。我希望这部分代码能有所帮助…在应用程序属性的“构建”选项卡中调试和发布之间有什么区别?你能共享一些代码吗?在发布配置中未命中断点并不一定意味着代码未运行,只是文件中的代码与执行的IL指令不匹配。您希望看到哪一部分,因为我真的不知道共享什么代码会很有趣…错误消息应该出现的XAML代码和设置代码(并且不会命中)的C#代码。我希望这部分代码能有所帮助…在应用程序属性的“构建”选项卡中调试和发布之间有什么区别?
var result = _validator.Validate(validationModel);
if (!result.IsValid)
{
if (result.Errors.Any(e => e.PropertyName.Equals($"Entity.{nameof(SystemCredential.Username)}",
StringComparison.InvariantCultureIgnoreCase)))
IsLoginValid = false;
foreach (var error in result.Errors)
{
ValidationMessages.Add(error.ErrorMessage);
}
NotifyOfPropertyChange(nameof(ValidationMessages))
NotifyOfPropertyChange(nameof(IsLoginValid));
return false;
}