小编jwa*_*980的帖子

Visual Studio:可以从Net4.5测试项目中引用Win8.1项目吗?

我的Windows应用程序包含4个针对Windows 8.1的项目和几个测试项目:

解决方案项目的截图

"... App.Core"项目以前是Windows 8项目,该项目也针对.Net 4.5框架.但正因为如此,有一些无法使用的异步功能.

我们现在需要完全异步能力,并且该项目仅针对Windows8.1重新定位.

然而,这样做打破了"... App.Core.Tests"项目,这是一个.Net 4.5测试项目.它正在引用App.Core项目,现在引用已被破坏.

问题:有没有办法从Test项目中定位Windows 8.1项目(无需创建新的测试项目)?测试项目有相当多的测试,文件夹和nuget包引用,这将是转移到新项目的主要痛苦.

如果我现在尝试添加引用,我会得到令人讨厌的简洁"无法添加项目'MyProject.App.Core'的引用."

此外,重新定位App.Core项目意味着更新其他8.1项目的目标,并为每个项目重新安装每个nuget包.这就是为什么我宁愿用另一种方式解决这个问题......如果有的话.

.Net 4.5项目是否有一些限制能够引用Windows 8.1项目?或许我只是做错了什么.

更新

根据以下来自@PiLHA的评论,我添加了.NET 4.5.1作为目标.它将库类型从"Windows 8.1"更改为"Portable",但它打破了所有异步调用.

参考变化

注意:我将Microsoft.Bcl v1.1.10,Microsoft.Bcl.Async v1.0.68和Microsoft.Bcl.Build v1.0.21作为nuget包添加到"MyProject.App.Core"项目中.

visual-studio .net-4.5 windows-8.1 visual-studio-2015

6
推荐指数
1
解决办法
155
查看次数

无法使用 JavaScript 访问自定义 HTML 标记内的 DOM 元素

我有几个后端 Salesforce (SF) 页面,它们具有很长的下拉列表(例如最多 1,000 个选项),并且我想在 Chrome 书签中使用 JS 代码将过滤器框添加到页面上的任意 SELECT 中(代码如下)。我认为问题是因为我想要访问的节点位于名为 的自定义 HTML 元素内force-aloha-page

\n\n

就我而言,我想要访问的第一个元素是自定义元素内的 IFRAME。(这不是一个跨站点安全问题,因为即使来源不好,JS 仍然会获得 IFRAME,只是其中没有任何内容。)

\n\n

例如,我可以检查代码并查看自定义 HTML 元素、查看 iframe,并且可以在页面上查看 iframe 的内容。如果我只是将节点转储到控制台,它会显示 JS 无法访问的 DOM 元素:

\n\n
\n
    \n
  • document.getElementsByTagName("FORCE-ALOHA-PAGE")[0]
  • \n
  • <force-aloha-page data-data-rendering-service-uid=\xe2\x80\x8b"203" data-aura-rendered-by=\xe2\x80\x8b"505:\xe2\x80\x8b0" force-alohapage_alohapage-host>\xe2\x80\x8b<div force-alohapage_alohapage class=\xe2\x80\x8b"iframe-parent slds-template_iframe slds-card">\xe2\x80\x8b<iframe force-alohapage_alohapage height=\xe2\x80\x8b"100%" width=\xe2\x80\x8b"100%" scrolling=\xe2\x80\x8b"yes" allowtransparency=\xe2\x80\x8b"true" name=\xe2\x80\x8b"vfFrameId_1569557364522" title=\xe2\x80\x8b"Page Configuration" allowfullscreen=\xe2\x80\x8b"true" lang=\xe2\x80\x8b"en-US" allow=\xe2\x80\x8b"geolocation *;\xe2\x80\x8b microphone *;\xe2\x80\x8b camera *">\xe2\x80\x8b\xe2\x80\xa6\xe2\x80\x8b</iframe>\xe2\x80\x8b</div>\xe2\x80\x8b</force-aloha-page>\xe2\x80\x8b
  • \n
\n
\n\n

我可以看到元素内部的div和。但是,如果我尝试访问 iframe,就会发生这种情况:iframeforce-aloha-page

\n\n
\n
    \n
  • document.getElementsByTagName(\'IFRAME\')
  • \n
  • 0
  • \n
  • document.querySelectorAll("iframe")
  • \n …

html javascript iframe dom

5
推荐指数
1
解决办法
1388
查看次数

NLog - 数据库目标的运行时参数

我正在尝试向我的数据库日志目标添加一些自定义.在我的NLog.config中我有这个:

<target name="DatabaseExample1" xsi:type="Database"
 dbProvider="System.Data.SqlClient"
 dbDatabase="${event-context:item=dbDatabase}"
 dbUserName="${event-context:item=dbUserName}"
 dbPassword="${event-context:item=dbPassword}"
 dbHost="${event-context:item=dbHost}"
 commandText="${event-context:item=commandText}">
</target>
Run Code Online (Sandbox Code Playgroud)

在我的C#代码中我有这个:

protected override void updateBeforeLog(LogEventInfo info)
{
    info.Properties["dbDatabase"] = "TempDB";
    info.Properties["dbUserName"] = "username";
    info.Properties["dbPassword"] = "password";
    info.Properties["dbHost"] = "SERVER\\SQLSERVER";
    info.Properties["commandText"] = "exec InsertLog @LogDate, @LogLevel, @Location, @Message";

    info.Parameters = new DatabaseParameterInfo[] {
        new DatabaseParameterInfo("@LogDate", Layout.FromString("${date:format=yyyy\\-MM\\-dd HH\\:mm\\:ss.fff}")), 
        new DatabaseParameterInfo("@LogLevel", Layout.FromString("${level}")),
        new DatabaseParameterInfo("@Location", Layout.FromString("${event-context:item=location}")),
        new DatabaseParameterInfo("@Message", Layout.FromString("${event-context:item=shortmessage}"))
    };

    log.Log(info);
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一条SQL错误,上面写着"必须声明标量变量"@LogDate"".

属性正常,因为连接成功.但由于某种原因,参数不会"绑定"命令中的标量变量.

如果我在NLog.config文件中手动创建参数,它可以完美地工作:

<target name="DatabaseExample1" xsi:type="Database"
 dbProvider="System.Data.SqlClient"
 dbDatabase="${event-context:item=dbDatabase}"
 dbUserName="${event-context:item=dbUserName}"
 dbPassword="${event-context:item=dbPassword}"
 dbHost="${event-context:item=dbHost}"
 commandText="${event-context:item=commandText}">
   <parameter name="@LogDate" layout="${date:format=yyyy\-MM\-dd HH\:mm\:ss.fff}" />
   <parameter name="@LogLevel" layout="${level}" /> …
Run Code Online (Sandbox Code Playgroud)

.net c# nlog c#-4.0

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

将浮点数组写入二进制文件c#

我有一个浮点数组:

float[] samples32array
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为二进制文件,以便我可以在 matlab 中读取它。

有什么办法可以做到这一点吗?

c# floating-point binary matlab file

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

用于强制转换的Visual Studio C#快捷方式,然后检查null

我发现我经常写这样的代码:

public void some_callback(object sender, SomeArgs args)
{
    if (sender is ObjectA)
    {
        var objA = sender as ObjectA;
        //do something
    }
    else if (sender is ObjectB)
    {
        var objB = sender as ObjectB;
        //do something else
    }
}
Run Code Online (Sandbox Code Playgroud)

或类似地:

public void some_callback(object sender, SomeArgs args)
{
    var objA = sender as ObjectA;
    if (objA != null)
    {
        //do something
    }

    var objB = sender as ObjectB;
    if (objB != null)
    {
        //do something else
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道的是,如果有一种快捷方式可以在C#中处理这个问题?有点像:

public void …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio visual-studio-2015

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

如何从webservice将xml数据返回到jquery ajax调用

这是我对webservice -JsonWebService.asmx文件的ajax调用

 $.ajax({
                    type: "POST",
                    async: false, 
                    url: "/blkseek2/JsonWebService.asmx/GetList",
                    data: keyword2,
                    contentType: "application/xml; charset=utf-8",
                    success: ajaxCallSucceed,
                    dataType: "xml",
                    failure: ajaxCallFailed
                });
Run Code Online (Sandbox Code Playgroud)

这是我成功的方法,我将如何在成功方法中捕获xml响应

function ajaxCallSucceed(response) {
    alert(response.d);
    /// here i need to write code to capture response xml doc file
}
Run Code Online (Sandbox Code Playgroud)

这是我在webservice jsonwebservice.asmx.cs文件中编写的代码,我能够完全创建xml成功,但我发现很难将xml返回给ajax调用

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public XmlDocument GetList(string keyword1, string streetname, string lat, string lng, string radius)
    {
        XmlDocument xmldoc= CreateXML( keyword1,streetname,lat,lng,radius);



        return xmldoc;

    }
Run Code Online (Sandbox Code Playgroud)

c# xml ajax jquery dhtml

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