小编Log*_*arr的帖子

在一个解决方案中从多个项目创建一个NuGet包

我有我的工作,它包含4个类库项目(一个解决方案A,B,C,D).A并且B可以被认为是解决方案中的顶级项目.两者AB参考C,并且D独立.

这四个项目代表了我处理自动化工作流程的一组服务.它们都是密切相关的,只会在一个位置(服务管理器)使用,所以我不想将它们分成不同的解决方案.

我的问题是我想创建一个包含所有4个库的NuGet包,而不必全部构建它们并手动收集它们的DLL.我知道我可以从技术上实现这一点,A或者B参考其余的项目,但这不是真正的关系,我觉得应该避免.

我已经做了很多关于这个问题的搜索,除了手动收集DLL并自己构建包之外,我找不到解决方案.有没有办法达到我想要使用NuGet的功能/能力的结果?

注意:如果标签不清楚,我目前正在使用带有TeamCity构建服务器的VS2010.如果它是相关的,我也通过Stash服务器使用Git.

编辑:我刚刚意识到这可能很重要,值得一提.这些项目确实引用了我需要标记为依赖项的其他NuGet包.

c# teamcity visual-studio-2010 nuget

25
推荐指数
4
解决办法
2万
查看次数

为什么这个页面加载速度像 iframe 一样慢,但直接访问时正常?

我有一组运行 iOS 9.3.5 的 iPad(第 3 代)。这是他们支持的最高水平。我正在尝试用等效的 Web 应用程序替换自定义 iOS 应用程序的功能。该站点是用 Angular 11 构建的,目标是es2015,并且我已经在浏览器支持文件中声明了 iOS > 9。该网站的大部分内容与我对此类旧设备的预期完全相同。整个事情的关键是这个需要填写的第三方表单,它作为 iframe 提供,它的表现如此,非常糟糕。

这是带有 iframe 的组件 HTML 代码(出于隐私原因更改了 URL):

<div class="row header"><a class="restart" (click)='restart()'>Start Over</a><a routerLink='/welcome'><i class="fa fa-times close-x"></i></a></div>
<iframe src="https://notarealsite.com" (load)="waiverLoaded()"></iframe>
Run Code Online (Sandbox Code Playgroud)

waiverLoaded函数是一个简单的布尔翻转,用于检测嵌入页面在完成后重新加载,以便我可以路由到我的应用程序中的不同组件。如果 iframe 是页面上的唯一元素,则性能不变。嵌入时运行良好的其他页面不会像弃权那样遭受性能下降,因此我必须假设它是弃权页面的代码中的某些内容。

原始的自定义 iOS 应用程序使用 webviewer 加载页面,加载时间为 2 秒或更短。直接在 Safari 中访问页面可以看到相同的性能。在这两种情况下,考虑到设备的使用年限,动态形式的响应能力是合理的。当通过 iframe 加载页面时,性能坦克。我们正在谈论 30-45 秒的加载,有时在点击按钮或字段和表单反应之间长达一整秒的延迟。

我已将设备连接到我的计算机并使用 MacOS Safari 中的远程检查器查看时间线。大部分初始加载时间是表单使用的几个 1-2 kb 图像文件,如滚动条和一些图标。通常这些项目之一最终需要 20-25 秒。当与表单交互时,时间线中会出现一个 XML 资源,每次字段更改或按钮按下时都会出现,这需要大约一两秒钟才能使页面再次更新。

我不太精通像这样的 Web 应用程序性能故障排除,这是我构建的第一个真正的 Angular 应用程序,所以我可能会遗漏一些非常明显的东西。是什么导致直接访问的页面与放置在 iframe 中的页面之间的性能差异?

一些额外的信息:

  • 通过本地运行npm serve …

performance iframe ios angular

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

这是在Nodatime之间转换时区的正确方法吗?

目标是创建一个函数,使用Nodatime将时间从一个时区转换为另一个时区.我不只是在寻找关于结果是否正确的反馈,而是针对"我如何"这样做的反馈(这是真的正确,还是有微妙的漏洞).

这是功能:

static ZonedDateTime ConvertDateTimeToDifferentTimeZone(DateTime p_from_datetime, string p_from_zone, string p_to_zone)
{
    DateTimeZone from_zone = DateTimeZoneProviders.Tzdb[p_from_zone];
    LocalDateTime from_local = new LocalDateTime(p_from_datetime.Year, p_from_datetime.Month, p_from_datetime.Day, p_from_datetime.Hour, p_from_datetime.Minute);
    ZonedDateTime from_datetime = from_zone.AtStrictly(from_local);

    var from_instant = from_datetime.ToInstant();

    DateTimeZone to_zone = DateTimeZoneProviders.Tzdb[p_to_zone];
    ZonedDateTime to_datetime = to_zone.AtStrictly(from_local);

    var to_offset_datetime = from_instant.WithOffset(to_datetime.Offset);

    return to_zone.AtStrictly(to_offset_datetime.LocalDateTime);
}
Run Code Online (Sandbox Code Playgroud)

我称之为的方式如下:

    DateTime from_datetime = new DateTime(2016, 10, 15, 16, 30, 0);
    string from_zone = "US/Central";
    string to_zone = "US/Eastern";
    var x = ConvertDateTimeToDifferentTimeZone(from_datetime, from_zone, to_zone);

    Console.WriteLine(from_datetime.ToString() + " (" + from_zone + ") …
Run Code Online (Sandbox Code Playgroud)

c# nodatime

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

是否存在使用`i <= 2`代替循环中的`i <3`会导致循环行为发生变化的情况?

这可能是一个愚蠢的问题.我for在我的应用程序中使用循环进行了大量数据外推.在几乎所有情况下,我倾向于发现i <= 2比阅读/解释更容易i < 3.根据我的知识,他们应该总是意味着相同的事情,但我想知道是否有特殊情况,在for循环中使用它们时会有不同的评价.例如,如果您使用++i而不是i++.

c# for-loop increment

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

从多个更新查询中返回一个"记录已更新"

免责声明:我没有太多的SQL经验,我不知道我的公司使用的是哪个版本的Oracle.

我有一个产品价格表,明天需要更新.有数千条记录将会更新,但还有一千条记录将不会被更新.

现在我对每条记录都有一个更新语句,虽然我可以将它们全部作为脚本运行,但我希望得到一些关于更新了多少记录的反馈,如果可能的话,哪些语句失败了.

如果我运行我作为脚本运行的东西,我将最终得到大约5,000"1行更新"消息,如果我看到"0行更新",则不知道哪一个失败了.

是否有某些形式的脚本我可以使用它来捕获故障,或者至少收集更新为一个总数的行数?

oracle

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

通过对多个属性进行分组来创建对象列表

我有一个List<T>地方T是一个自定义对象Cow.现在我使用以下代码基于分割该列表Color.

cowGroups = from x in cows
            group x by x.Color into y
            select y.ToList().ToList();
Run Code Online (Sandbox Code Playgroud)

然后我拿起cowGroups并运行foreach它来为每个人做一组动作Cow.这个清单实际上是出来的IEnumerable<List<Cow>>

我要做的是在我的首字母上做一个双重分组,List<Cow>这样我就可以根据它们的颜色和大小进行分组.结果应该仍然是IEnumerable<List<Cow>>,但每个List<Cow>都是基于颜色和大小的组合.

一位同事推荐了一种ToLookup方法,但它会返回一个键/值对的列表,而我似乎无法对该对的值部分做任何事情.

我想我正在寻找直接进入列表集合的方法,或者将方法的结果ToLookup转换为列表集合.

c# linq collections

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

在什么情况下此事件将为空?

我正在使用MVP模式构建应用程序.为了在演示者中发生事情,我在视图中创建事件,演示者将观察它们.ReSharper给我一个关于可能的空引用异常的警告,我看到在触发事件之前检查null的教程.事件究竟能以何种方式为空?以下是我的代码示例:

public partial class PrinterSelectView : Form, IPrinterSelectView
{
    public PrinterSelectView()
    {
        InitializeComponent();
    }

    public event Action Canceled;
    public event Action Saved;

    private void btnCancelClick(object sender, EventArgs e)
    {
        if(Canceled != null)
        {
            Canceled();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

c# mvp events

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