我试图摆脱Visual Studio中的“ rsOverlappingReportItems”-警告,因为我们故意进行了重叠。
我通过获取警告代码进行了通常的操作:
SomeRDLC.rdlc:警告rsOverlappingReportItems:文本框'textbox236'和文本框'textbox43'重叠。并非所有渲染器都支持重叠的报表项。
在这种情况下,我只是希望“ rsOverlappingReportItems”是代码。然后我将其添加到“构建->支持警告”下的项目中。
但这似乎不是这种方式。据我所知,没有办法明确告诉Reporting-Services忽略此警告,但是难道不可以告诉编译器吗?
提前致谢。
我正在尝试为私人项目设置一些单元测试.由于我不介意确切的跑步者,我尝试了NUnit,XUnit和MStest,但到目前为止都没有.
经过一些研究,我在这里克隆了官方的Microsoft存储库:https://github.com/dotnet/docs/blob/master/samples/core/getting-started/unit-testing-using-nunit/PrimeService.Tests/PrimeService_IsPrimeShould. cs 但是这些测试也不能执行.这样做时,我在输出中收到以下错误:
System.ArgumentException:路径中的非法字符.在System.IO.Path.CheckInvalidPathChars(String path,Boolean checkAdditional)at System.IO.Path.Combine(String path1,String path2)at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.TryGetExecutablePath(String executableBaseName,String&executablePath) )在Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.GetDotnetPath()在Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DotnetTestHostManager.GetTestHostProcessStartInfo(IEnumerable的
1 sources, IDictionary2个environmentVariables,TestRunnerConnectionInfo connectionInfo)在Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client. Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyDiscoveryManager.DiscoverTests(DiscoveryCriteria discoveryCriteria,ITestDiscoveryEventsHandler2 eventHandler)中的ProxyOperationManager.SetupChannel(IEnumerable`1 sources,CancellationToken cancellationToken)
我还检查了几个SO答案,例如在Visual Studio 2017中未发现的单元测试或如何在Visual Studio 2017 中运行NUnit测试?,但没有一个解决了这个问题.
我的Visual Studio 2017版本目前是15.6.0,我也在使用ReSharper.这似乎是一个当地的环境问题,遗憾的是,我没有找到任何有关该问题的提示.有谁有想法,这个问题怎么解决?
我有一个奇怪的问题,结合async/await使其工作:我创建了一个小程序,它应该基本上处理每个动作的try/catch:
internal static void HandledAction(Action action, Info infoBar)
{
try
{
action();
}
catch (Exception ex)
{
infoBar.SetError("An Exception occured: " + ex.Message);
WriteLog(ex.StackTrace);
}
Run Code Online (Sandbox Code Playgroud)
喜欢花哨,但它值得改变错误处理是非常容易的.但是,如果我想在Lambda中获得数据异步,会发生什么?让我们举一个简单的例子:
private void mnuImportData_Click(object sender, RoutedEventArgs e)
{
ActionHelper.HandledAction(async () =>
{
throw new NotImplementedException("Ups");
}, infoMain);
}
Run Code Online (Sandbox Code Playgroud)
当然,HandledAction被调用,传递,因为它返回指针,异常被抛出,当然不会被处理.
我想我必须创建一个AsyncHandledAction,并设置动作异步,但有没有更简单的方法来解决这个问题?
我想很多人都使用中央异常处理,并且有更好的解决方案吗?
提前致谢
马蒂亚斯
编辑:我创建了一个示例,它应该shpw netter我需要:我基本上不希望我传递的整个Action是等待的,但Lambda中的一个调用是:
ActionHelper.HandledActionAsync(() =>
{
//elided
CheckFileResult rslt = await excelImport.CheckFilesAsync(tmpPath);
//elided
}, infoMain);
Run Code Online (Sandbox Code Playgroud)
当然,通过这样做,我得到错误:
错误3'await'运算符只能在异步lambda表达式中使用.考虑使用'async'修饰符标记此lambda表达式.
我们将实体框架更新到6.1.3,从那以后在一些服务器上(遗憾的是那些运行单元测试的服务器),我们现在得到例外:
System.Data.SqlClient.SqlException:SQL语句的某些部分嵌套太深.重写查询或将其分解为较小的查询.
在一些不是那么深嵌套的EF查询上.
当我们更改EF版本时,我们进行了其他更改,但这些都没有影响单元测试.使用这些查询的服务根本没有改变.
我没有在环境中发现此异常的任何条件,我有点不相信它会因为EF更新而发生.是否有更多影响可能导致此异常?
编辑:我刚刚提取了查询并在其中一个失败的服务器上运行,这很有趣.所以我想它必须是EF?
我们在 Angular 4 应用程序中实现了自定义错误处理,它会覆盖默认的 ErrorHandler 并显示带有错误的模式:
@Injectable()
export class GlobalErrorCatcherService implements ErrorHandler {
constructor(private errorDispatcherService: ErrorDispatcherService) { }
public handleError(error: Error) {
this.errorDispatcherService.dispatchError(error);
}
}
Run Code Online (Sandbox Code Playgroud)
跳过一些步骤,我们就有了一个 ErrorDisplayService,它获取有关错误的信息并显示一个 NgbModal,它是来自 @ng-bootstrap 框架的组件:
@Injectable()
export class ErrorDisplayService {
constructor(private modalService: NgbModal) {
}
public showError(errorInformation: ErrorInformation): void {
const options = <NgbModalOptions>{
backdrop: 'static',
keyboard: true
};
const modalRef = this.modalService.open(ErrorDisplayContentComponent, options);
const componentInstance = <ErrorDisplayContentComponent>modalRef.componentInstance;
componentInstance.initialize(errorInformation);
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只有一半的时间有效:预期的结果有时是正确的,例如:
到目前为止,我所有的修补都不起作用,我无法确定问题所在。我是否还有进一步的可能性可以尝试使这项工作成功?
我的问题很简单:"有人"改变了IIS上的"Something"以使另一个网站工作.但现在,我收到了应用程序的错误:
WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'. Please add a ScriptResourceMapping named jquery(case-sensitive).
Run Code Online (Sandbox Code Playgroud)
问题是:此应用程序用于测试目的,应该在与客户端相同的配置等上运行.看起来这个问题可以通过更改配置来修复:WebForms UnobtrusiveValidationMode需要一个ScriptResourceMapping来实现'jquery'.请添加名为jquery的ScriptResourceMapping(区分大小写),但如上所述,我不想这样做.
我的问题:什么可能导致这个问题?默认网站在Classic.net AppPool下运行,这意味着.Net2和Managed PipeLine = Classic.导致此问题的网站在.Net4集成下运行,但在客户端也是如此.
提前感谢所有反馈.
马蒂亚斯
伊迪丝:我想问题是4.5的更新.Microsoft为HTML 5发明了此ValidationMode,但没有将Standard-Value设置为None.所以我必须更改每个配置以手动设置它...
c# ×3
angular ×1
asp.net ×1
async-await ×1
asynchronous ×1
iis ×1
lambda ×1
linq ×1
ng-bootstrap ×1
rdlc ×1
sql-server ×1
webforms ×1