小编Mat*_*ler的帖子

忽略Visual Studio中的Reporting-Services警告

我试图摆脱Visual Studio中的“ rsOverlappingReportItems”-警告,因为我们故意进行了重叠。

我通过获取警告代码进行了通常的操作:

SomeRDLC.rdlc:警告rsOverlappingReportItems:文本框'textbox236'和文本框'textbox43'重叠。并非所有渲染器都支持重叠的报表项。

在这种情况下,我只是希望“ rsOverlappingReportItems”是代码。然后我将其添加到“构建->支持警告”下的项目中。

但这似乎不是这种方式。据我所知,没有办法明确告诉Reporting-Services忽略此警告,但是难道不可以告诉编译器吗?

提前致谢。

rdlc reporting-services visual-studio-2013

5
推荐指数
0
解决办法
464
查看次数

Visual Studio 2017 + .Net Core 2测试不可执行

我正在尝试为私人项目设置一些单元测试.由于我不介意确切的跑步者,我尝试了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.这似乎是一个当地的环境问题,遗憾的是,我没有找到任何有关该问题的提示.有谁有想法,这个问题怎么解决?

c# visual-studio visual-studio-2017

5
推荐指数
2
解决办法
759
查看次数

Async/Await Lambdas

我有一个奇怪的问题,结合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表达式.

c# lambda asynchronous async-await

3
推荐指数
1
解决办法
1923
查看次数

得到错误,"SQL语句的某些部分嵌套太深"仅在某些服务器上

我们将实体框架更新到6.1.3,从那以后在一些服务器上(遗憾的是那些运行单元测试的服务器),我们现在得到例外:

System.Data.SqlClient.SqlException:SQL语句的某些部分嵌套太深.重写查询或将其分解为较小的查询.

在一些不是那么深嵌套的EF查询上.

当我们更改EF版本时,我们进行了其他更改,但这些都没有影响单元测试.使用这些查询的服务根本没有改变.

我没有在环境中发现此异常的任何条件,我有点不相信它会因为EF更新而发生.是否有更多影响可能导致此异常?

编辑:我刚刚提取了查询并在其中一个失败的服务器上运行,这很有趣.所以我想它必须是EF?

c# linq sql-server entity-framework

3
推荐指数
1
解决办法
5531
查看次数

Angular Modal 并不总是正确显示

我们在 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)

不幸的是,这只有一半的时间有效:预期的结果有时是正确的,例如:

在此输入图像描述

但更多时候,我们得到的结果是这样的: 在此输入图像描述

到目前为止,我所有的修补都不起作用,我无法确定问题所在。我是否还有进一步的可能性可以尝试使这项工作成功?

ng-bootstrap angular

3
推荐指数
1
解决办法
661
查看次数

WebForms UnobtrusiveValidationMode

我的问题很简单:"有人"改变了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.所以我必须更改每个配置以手动设置它...

asp.net iis webforms

2
推荐指数
1
解决办法
3812
查看次数