我的 azure devops 测试管道遇到一些问题。我正在使用 xunit 测试,并且每个测试项目都正确运行,并且我可以查看测试结果,但管道由于以下错误而失败
##[error]Testhost process exited with error: A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files\dotnet'.
##[error]. Please check the diagnostic logs for more information.
Run Code Online (Sandbox Code Playgroud)
就像这里建议的那样,我添加了一个额外的过滤器,所以testhost.dll我的 yaml-snippet 看起来像这样:
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test.dll
!**\*TestAdapter.dll
!**\obj\**
!**\testhost.dll
!*testhost.dll
searchFolder: '$(System.DefaultWorkingDirectory)'
diagnosticsEnabled: true
codeCoverageEnabled: true
Run Code Online (Sandbox Code Playgroud)
但是,错误仍然发生,并且我的构建被标记为失败。我怎样才能解决这个问题?
我有一个https://192.168.188.31:44302使用 Web API Enpoints 在本地 IP 上运行的 ASP.NET Core 服务器。我可以使用 VS Code REST 客户端连接到所述服务器。现在我想连接到 Web API,并在https://192.168.188.31:5555.
我的布洛佐代码:
@page "/login"
@inject HttpClient Http
[ ... some "HTML"-Code ... ]
@code {
private async Task Authenticate()
{
var loginModel = new LoginModel
{
Mail = "some@mail.com",
Password = "s3cr3T"
};
var requestMessage = new HttpRequestMessage()
{
Method = new HttpMethod("POST"),
RequestUri = ClientB.Classes.Uris.AuthenticateUser(),
Content =
JsonContent.Create(loginModel)
};
var response = await Http.SendAsync(requestMessage);
var responseStatusCode = response.StatusCode;
var responseBody …Run Code Online (Sandbox Code Playgroud) 如何将ProgressBar XAML中的渐变设置为动态填充?
目前它像:

两个进度条的代码:
<ProgressBar.Foreground>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<LinearGradientBrush.RelativeTransform>
<CompositeTransform CenterY="0.5" CenterX="0.5" Rotation="270"/>
</LinearGradientBrush.RelativeTransform>
<GradientStop Color="Lime" Offset="0"/>
<GradientStop Color="Red" Offset="1"/>
</LinearGradientBrush>
</ProgressBar.Foreground>
Run Code Online (Sandbox Code Playgroud)
但我希望鞋面的"尽头"颜色ProgressBar 呈绿黄色,就像正下方一样.意思是我希望进度条像第二个栏一样完全填充,然后"剪掉"其余部分(例如,当我有60%时,我希望右边的40%未显示)
我该怎么做呢?
编辑(找到解决方案):
在尝试了几种方法后(绘图默认颜色的矩形到酒吧等),我想通了,我可以修改offset的GradientStop由代码:
color_UL.Offset = 2.0 - ul_val / 100;
Run Code Online (Sandbox Code Playgroud)
意味着我减去我要显示的百分比,例如30%(ul_val = 30)偏移设置为170%(1.7),但条形本身显示30%,具有平滑和正确的颜色渐变.如果我在条上100%计算2.0 - 1.0它是1(正常情况,如图1中的条#2所示).
我知道这听起来很混乱,所以这里的图片就像我想要的那样:

我正在使用Swashbuckle.AspNetCore.SwaggerGen版本 v6.1.5 的 ASP.NET Core。
我希望像[HttpGet]或[HttpGet("user")]in a public这样的路由swagger.json用于公共端点,而包含internal在像这样的路由内部的其他路由[HttpGet("internal/user/{userGuid}")]位于swagger.json端点的内部实例中。
我在启动时配置 SwaggerConfigureServices如下:
services.AddSwaggerGen(gen =>
{
gen.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Server API",
Version = "1.0",
Description = "This API features all public available endpoints showing different API features."
});
gen.SwaggerDoc("v1-internal", new OpenApiInfo
{
Title = "Viewer Server API (internal)",
Version = "v1-internal",
Description = "This API features all public available endpoints showing different API features." …Run Code Online (Sandbox Code Playgroud) 我希望我的c#UWP App支持主叫号码.
当我使用W10手机时我希望它使用W10 PhoneCall API正常(这是有效的)
Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI(number, name);
Run Code Online (Sandbox Code Playgroud)
但是在W10桌面/ PC上我不会有GSM提供商,所以我想,也许用Skype来拨号,用户按下.
这可能通过UWP吗?也许类似打开网站:
await Windows.System.Launcher.LaunchUriAsync(new Uri(website));
Run Code Online (Sandbox Code Playgroud) 我ComboBox在c#XAML中有一个,当没有选择任何内容并且PlaceHolderText显示它并点击它打开时,正常的行为是在中间打开它.
我希望下拉列表在顶部打开.假设我有一个ComboBox并填充数字1-100,然后我希望它从1开始显示.如果下拉列表中显示七个项目,则应显示数字1-7.正常行为将显示数字47-53.
一个旧的解决方法是使用a ListView,但我不想要这个.
我怎样才能做到这一点?
我有一个Blazor页面,想通过bUnitwith进行单元测试xUnit。
我的Blazor页面:
<EditForm Model="login" OnValidSubmit="@LoginSubmit">
<DataAnnotationsValidator />
<p>
<MatBlazor.MatTextField @bind-Value="@login.Mail" Label="Mail-Address" Icon="mail_outline" Dense="true"></MatBlazor.MatTextField>
<ValidationMessage For="@(() => login.Mail)" />
</p>
<p>
<MatBlazor.MatTextField @bind-Value="@login.Password" Label="Password" Icon="lock_outline" Type="password"></MatBlazor.MatTextField>
<ValidationMessage For="@(() => login.Password)" />
</p>
<p>
<MatBlazor.MatButton Label="Login" Type="Submit" Raised="true"></MatBlazor.MatButton>
<MatBlazor.MatButton Label="Register" @onclick="NavigateRegister" Outlined="true"></MatBlazor.MatButton>
</p>
</EditForm>
Run Code Online (Sandbox Code Playgroud)
和我的单元测试:
var ctx = MyTestContext();
var cut = ctx.RenderComponent<Login>();
var inputs = cut.FindAll("input");
var input1 = inputs.Where(x => x.ParentElement.TextContent.Contains("Mail")).FirstOrDefault();
input1.Change(testuser);
var input2 = inputs.Where(x => x.ParentElement.TextContent.Contains("Password")).FirstOrDefault();
input2.Change("s3cur3_PASS");
var buttons = …Run Code Online (Sandbox Code Playgroud) 我的C#UWP应用出现问题。
<Grid VerticalAlignment="Bottom" Height="40" Grid.Row="3" Margin="0,0,0,-1">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#00000000" Offset="0"/>
<GradientStop Color="{StaticResource stdBackgroundColor}" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
</Grid>
Run Code Online (Sandbox Code Playgroud)
该代码段应在页面底部显示一个透明的叠加层,但会创建一个黑色的叠加层,就像它在现有背景(也是Color stdBackgroundColor)的顶部添加透明值一样,因此看起来很奇怪(请参见图片)下面)
在ScrollViewer没有这种效果的情况下,如何实现内容的透明覆盖?
使用Postman测试我的Web API时,我的API执行正常!
HttpClient在我的客户端应用程序中运行代码时,代码执行时没有错误,但在服务器上没有预期的结果.可能会发生什么?
从我的客户应用程序:
private string GetResponseFromURI(Uri u)
{
var response = "";
HttpResponseMessage result;
using (var client = new HttpClient())
{
Task task = Task.Run(async () =>
{
result = await client.GetAsync(u);
if (result.IsSuccessStatusCode)
{
response = await result.Content.ReadAsStringAsync();
}
});
task.Wait();
}
return response;
}
Run Code Online (Sandbox Code Playgroud)
这是API控制器:
[Route("api/[controller]")]
public class CartsController : Controller
{
private readonly ICartRepository _cartRepo;
public CartsController(ICartRepository cartRepo)
{
_cartRepo = cartRepo;
}
[HttpGet]
public string GetTodays()
{
return _cartRepo.GetTodaysCarts();
}
[HttpGet]
[Route("Add")]
public string …Run Code Online (Sandbox Code Playgroud) 我使用的是 Visual Studio 2019 v16.8.5,并且在我最近升级到 .NET5 的解决方案中有一个 Blazor WASM PWA 项目。在此期间我让它运行,但最近我无法再启动它。
屏幕上显示正在加载...就是这样。控制台输出 (Firefox) 显示以下错误:Microsoft.JSInterop.JSException: Could not find any element matching selector 'app'.
在某些时候,它运行时没有出现此问题,但即使将解决方案恢复到较早的状态也不会带来任何变化,我仍然出现空白屏幕。
我发现一个 github 来源说“只是builder.RootComponents.Add<App>("app");从Program Main”中删除。如果我这样做,错误就会消失,我只会得到一个空白页面,上面写着正在加载...控制台输出中没有错误。
附加信息:我现在在 Visual Studio 中运行项目后执行完整的缓存清理(cookies 和网站文件),以防止出现任何缓存问题。
我做错了什么,看不到我的任何页面?即使在明确地称他们为https://192.168.188.31:5555/login?
c# ×7
uwp ×3
asp.net-core ×2
blazor ×2
xaml ×2
xunit ×2
azure-devops ×1
call ×1
combobox ×1
cors ×1
gradient ×1
openapi ×1
progress-bar ×1
skype ×1
swagger ×1
testing ×1
transparent ×1
unit-testing ×1