小编bal*_*nza的帖子

我如何处理Git中的Visual Studio文件?

我通常使用Git进行版本控制.在我的团队中,我们并行工作,我们经常将代码提交到应用程序中.一切都很好但是Visual Studio的解决方案和项目文件.我们找到了两种方法:

  1. 从不提交这些文件,每个人都有自己的文件
  2. 在版本系统中包含这些文件

两种方式都有利弊,但基本上我们每次从中央回购中获利都会挣扎.这里有一些我们发现的备用问题:(在parentesis中,参考上面的列表)

  • 我们必须在项目中包含其他文件(1)或包括我们最新的(2)
  • 如果我们处理不同的架构(x86/x64),我们必须手动更改.csproj文件(2)
  • 针对引用和NuGet包回复了同样的问题

等等.我可以使用适当的工作流程吗?

c# versioning git workflow visual-studio

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

Puppeteer:为不同平台下载 Chromium

我正在用 Puppeteer 构建一个 UI 自动化器,并将它作为一个电子封装的应用程序发送。除了这个问题外,它运行良好且流畅:

Chromium is not downloaded 当应用程序在与应用程序打包的平台不同的平台上执行时,将引发异常。

更好的说法是,我正在 Linux 环境中进行开发,并且我正在为 Linux 和 Windows 打包我的应用程序,Linux 应用程序运行良好,Windows 应用程序则不行。

问题是:Chromium 是在npm installtime下载的,并且是根据当前平台有选择地完成的。作为当前平台的Linux,这铬的很版本然后运regardlessly在每一个平台的应用程序。

我应该能够执行以下操作之一:

  1. 安装 npm 时下载全平台 Chromium(在开发机器上)
  2. 在打包时有选择地下载 Chromium(仍在开发机器上)
  3. 强制我的用户在运行时下载 Chromium(例如在第一次使用时)

问题是我没有找到任何可以用于此目的的 Puppeteer 配置。

谢谢

chromium electron puppeteer

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

PHP Singleton:没有持有实例

我在vb.net工作多年后才开始潜入php.

我想编写一个logger类,在我的webapp上运行为singleon,这里是代码:

class cLog{

private $data = NULL;


static private $instance = NULL;

static public function getInstance(){
    if(self::$instance == NULL){
        echo "empty!";
        self::$instance = new cLog();           
    }   
    return self::$instance;
}


private function __construct(){     
}   
private function __clone(){     
}



public function getData(){
    return self::getInstance()->data;
}

public function trace($o){
    self::getInstance()->data[] = $o;
}

}
Run Code Online (Sandbox Code Playgroud)

我期望的是,当我在我的应用程序的页面之间切换,这些页面对cLog :: trace()方法进行多次调用时,数据数组会增加,并且所有跟踪都会填充.但我得到的是:每次我运行一个页面时,$ instance为null所以对象重新启动(如你所见,我在实例getter中放了一个echo"empty!"行:它每次显示)

我想在php应用程序生命周期中有一些我误解的东西....

这里有一个用法示例:

cLog::getInstance()->trace("hello world");
$logs = cLog::getInstance()->getData();
Run Code Online (Sandbox Code Playgroud)

谢谢

php singleton restart

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

通用类型函数:返回不可为空的值

我写了这个简单的实用函数:

public static T isNull<T>(T? v, T d)
{
    return v == null ? d : v.Value;
}
Run Code Online (Sandbox Code Playgroud)

目的是避免烦人的任务,例如检查成员是否为null,在读取linq记录集时非常常见.问题是它抛出了这个错误:

类型'T'必须是非可空值类型,以便在泛型类型或方法'System.Nullable <T>'中将其用作参数'T'

错误似乎是合法的,无论如何我希望我可以这样做:

int? myField = record.myField;
int  myValue = isNull(myField, 0);
Run Code Online (Sandbox Code Playgroud)

代替:

int? myField = record.myField;
int  myValue = myField == null ? 0 : myField.Value;
Run Code Online (Sandbox Code Playgroud)

我觉得我缺少一些c#基础知识.有没有办法完成我的任务?

c# generics nullable default-value non-nullable

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