小编mic*_*hik的帖子

RDLC表达式扩展方法

是否可以为RDLC字段后面的表达式编写扩展方法?

例如,假设我的数据源中有一个DateTime字段,该字段可能具有有效值,也可能为null.我将TextBox拖放到我的RDLC上,并使用ToShortDateString()方法格式化其值.这适用于填充的DateTime值,但如果我尝试在NULL字段上执行.ToShortDateString(),这显然也会在运行时抛出异常.

我想知道我是否可以编写一个可以在我的RDLC表达式中使用的扩展方法,这样当我处理?DateTime值时,我可以调用类似.ConvertFromNullToEmptyString()的方法.

当然还有其他方法可以解决这个问题,但我想知道在RDLC表达式中使用的扩展方法是否可能是解决我的业务问题的方法.

谢谢大家!

expression rdlc reporting-services ssrs-expression

9
推荐指数
1
解决办法
2882
查看次数

单元测试错误 - 单元测试适配器无法连接到数据源或读取数据

我正在使用VSTS 2K8,我已经建立了一个单元测试项目.在其中,我有一个测试类,其方法可以执行简单的断言.我正在使用Excel 2007电子表格作为我的数据源.

我的测试方法如下所示:

        [DataSource("System.Data.Odbc", 
        "Dsn=Excel Files;dbq=|DataDirectory|\\MyTestData.xlsx;defaultdir=C:\\TestData;driverid=1046;maxbuffersize=2048;pagetimeout=5", 
        "Sheet1", 
        DataAccessMethod.Sequential)]
    [DeploymentItem("MyTestData.xlsx")]
    [TestMethod()]
    public void State_Value_Is_Set()
    {
        string expected = "MD";
        string actual = TestContext.DataRow["State"] as string;
        Assert.AreEqual(expected, actual);
    }
Run Code Online (Sandbox Code Playgroud)

如方法装饰属性所示,我的Excel电子表格位于我的本地C:/ Drive上.在其中,我所有数据所在的工作表名为"Sheet1".

我已将Excel电子表格复制到我的项目中,并设置了Build Action ="Content",并将其Copy设置为Output Directory ="Copy if Newer".

尝试运行这个简单的单元测试时,我收到以下错误:

单元测试适配器无法连接到数据源或读取数据.有关解决此错误的详细信息,请参阅MSDN Library中的"数据驱动单元测试疑难解答"(http://go.microsoft.com/fwlink/?LinkId=62412).错误详细信息:错误[42S02] [Microsoft] [ODBC Excel驱动程序] Microsoft Office Access数据库引擎找不到对象'Sheet1'.确保对象存在,并且您正确拼写其名称和路径名称.

我已经验证了工作表名称拼写正确(即Sheet1),并且我已经验证我的数据源设置正确.

网络搜索根本没有发生太多变化.我完全难过了.

所有帮助或输入都很赞赏!!!!

c# unit-testing

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

ClickOnce部署错误 - 拒绝访问路径

我有一个WPF应用程序,我正在使用ClickOnce部署部署到网络路径.将应用程序部署到网络位置后,我使用ClickOnce HTML页面启动安装过程.我成功地下载并安装了该应用程序.

但是,我的用户无法下载和安装该应用程序.当用户导航到ClickOnce HTML页面并单击以开始安装过程时,会收到以下错误消息:


ERROR SUMMARY
        Below is a summary of the errors, details of these errors are listed later in the log.
        * Activation of http://software.mycompany.com/myapp/myapp.application resulted in exception. Following failure messages were detected:
                    + Downloading file://dev/webs/software/myapp/myapp.application did not succeed.


        * [4/5/2010 1:56:59 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
                    - Downloading file://dev/Webs/software/myapp/myapp.application did not succeed.
Run Code Online (Sandbox Code Playgroud)

所有迹象都表明这是一个安全问题.所以,我做了以下事情:

  • 确保"Everyone"具有对作为项目一部分部署的文件的读取权限

  • 确保"Everyone"具有对部署应用程序的网络位置的读取权限(// dev/webs/software/myapp)

  • 确保"Everyone"具有对ClickOnce HTML页面所在的IIS路径的读取权限

在每种情况下,我都没有在通过ClickOnce成功部署应用程序方面取得任何进展.

同样,奇怪的是我能够成功完成下载和安装应用程序的过程.但是,我的用户需要能够下载和安装应用程序.

我已经广泛地在网上寻找答案,但并没有太多.我想在没有"重新安装"或"操纵"任何事情的情况下解决问题.

clickonce

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

TDD与MS测试

像所有优秀的程序员一样,在使用带有MS Test的TDD时,我正试图直截了当.我遵循基本的安排,行为,断言模式,对于我的行为代码看起来太复杂了.我假设法案行中只应该有一个动作.那么,鉴于我的示例代码如下,我是否首先执行一个操作然后测试其状态?感谢您的投入.

    [TestMethod]
    public void TheCountOfAllRecordsIsGreaterThanZero()
    {
        //Arrange
        var auditLog = new AuditMasterClass();

        //Act

        //Create a new record in a local list of objects
        auditLog.LogAction("MyPersonName", DateTime.Now, "Stuff", "MoreStuff",
                                   "Desc",
                                   "Comments", true, false,
                                   "UndoStatement");

        //Return the count of objects in the local list
        var count = auditLog.GetCommentCount();

        //Assert
        Assert.IsTrue(count > 0);
    }
Run Code Online (Sandbox Code Playgroud)

c# tdd

3
推荐指数
2
解决办法
1773
查看次数