小编Cam*_*art的帖子

为F#4.0或3.1而不是3.0定位F#运行时的任何好处?

在Visual Studio 2015 Preview中,您可以从三个目标F#运行时中进行选择:

在此输入图像描述

定位新版本有什么好处吗?他们是否允许您访问其他API?如果是这样,哪些?如果我们能够生成一份全面的清单,那就太好了.

F#核心库参考

f#

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

如何通过NuGet分发F#类型提供程序?

我的F#类型提供程序似乎没有工作,除非它的所有依赖项都在同一个文件夹中.这对于通过nuget分发类型提供程序不起作用.有关如何解决此问题的任何建议?

我会得到如下错误:错误FS3033:类型提供程序'Froto.Gen.ProtoTypeProvider'报告错误:无法加载文件或程序集'Froto.Roslyn,Version = 0.0.0.1,Culture = neutral,PublicKeyToken = null'或其中一个依赖项.该系统找不到指定的文件.

类型提供程序在此库中:packages\Froto.Gen.0.0.0.1\lib \net45\Froto.Gen.dll

依赖项都在项目中.如果我将它们全部复制到packages\Froto.Gen.0.0.0.1\lib \net45 \中,则类型提供程序可以正常工作.

2012-11-19更新:我今天将创建一个NuGet包来更好地解释问题.

f# nuget type-providers

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

在Windows上使用Git,如何确保存储库中的规范化行结尾以及工作目录中没有转换?

在Windows上使用Git,我想确保存储库中的规范化行结尾,并且工作目录中没有转换?

我们现在使用.gitattributes文件* text=auto来确保Git存储库已规范化.使用.gitattributes文件时,存储库中的所有文本文件都存储为LF.那样就好.问题是当它们被写出到工作目录时,它正在将行结尾更改为core.eol,即使我们没有core.autocrlf=true.使用.gitattributes时,它应该具有与写入工作目录时不使用.gitattributes相同的行为.它应该仅在更改行结尾时core.autocrlf=true.我会提交一个错误.标记为红色是我认为应该改变的行为.

在此输入图像描述

在我的用例中,我正在构建服务器上,包括TeamCity和Visual Studio Online,并且无法设置core.autocrlf=input.我将使用开源F#编译器作为示例.该项目使用* text=auto并未*.fs text eol=lf在其.gitattributes中指定.如果从GitHub存储库下载il.fs,则行结尾为LF.当它们由构建服务器签出时,它们是CRLF.这意味着校验和不匹配,并且使用SourceLink进行源索引不起作用.

作为一种解决方法,我建议我们*.fs text eol=lf在.gitattributes文件中设置.不是每个人都对此感到满意.

此外,有1500个声望点的人可以将此标记为"sourcelink".

git

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

我们如何从团队项目中的所有Git存储库连接到TFS?

我正在使用Update 1运行最新的Visual Studio 2013 Ultimate.我们还拥有最新的Team Foundation Server 2013.我们中的一些人对新的Git存储库集成感到非常兴奋,但似乎有一个非常大的限制.我们希望将多个Git存储库添加到单个团队项目中,并且能够从Visual Studio 2013访问构建和工作项.它目前仅在您的Git存储库的名称与团队项目相同时才有效.

这也是Visual Studio Online的限制.我的开源SourceLink项目仅在Visual Studio 2013中显示工作项和构建,因为我已将远程VSO存储库命名origin,Team Project和Git Repository都命名为SourceLink.

Visual Studio 2013 Update 2 CTP 2看起来有一些不错的Git更新,但是,我没有看到任何关于此的内容.有没有计划解决这个问题?我们希望能够从团队项目中的每个Git存储库访问工作项和构建.

在此输入图像描述

在此输入图像描述

git tfs2013 azure-devops

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

使用 Cargo 时如何从 ld 获得详细输出?

使用 Cargo 时如何让 ld 链接器变得冗长?我已经试过几件事情.cargo/config,但没有运气。正确的设置是什么?直接使用 gcc 时,我可以只做-Wl,--verbose.

[build]
rustflags = [
    "-C", "prefer-dynamic",
    # "-Z", "pre-link-arg=-pthread",
    "-C", "link-arg=-pthread",
    "-C", "link-arg=-fopenmp",
    # "-C", "link-arg=-LC:/Octave/Octave-4.2.1/lib64/gcc/x86_64-w64-mingw32/4.9.4",
    # "-C", "link-arg=--sysroot=C:/Octave/Octave-4.2.1",
    # "-Z", "pre-link-args=-LC:/Octave/Octave-4.2.1/lib",
    # "-Z", "pre-link-args=-LC:\\Octave\\Octave-4.2.1\\lib",
    # "-C", "link-arg=--verbose",
    # "-C", "link-arg=-v",
    # "-C", "link-arg=-Wl,--verbose",
    # "-Z", "print-link-args",
]

[target.x86_64-pc-windows-gnu]
linker = "C:/Octave/Octave-4.2.1/bin/gcc.exe"
# rustflags = [
#     "-C", "link-arg=-Wl,--verbose",
# ]

# [term]
# verbose = true
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Rust 为 Octave构建一个库。

rust rust-cargo

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

如何将调用包装到在Rust中使用VarArgs的FFI函数?

mexPrintf就像printf,接受一个varargs参数列表,但我不知道在Rust中包装它的最佳方法是什么.有一个可变参数泛型RFC,但我们今天能做些什么呢?

在这个例子中,我想打印输入和输出的数量,但包装函数只打印垃圾.知道如何解决这个问题吗?

在此输入图像描述

#![allow(non_snake_case)]
#![allow(unused_variables)]

extern crate mex_sys;

use mex_sys::mxArray;
use std::ffi::CString;
use std::os::raw::c_int;
use std::os::raw::c_void;

type VarArgs = *mut c_void;

// attempt to wrap mex_sys::mexPrintf
fn mexPrintf(fmt: &str, args: VarArgs) {
    let cs = CString::new(fmt).unwrap();
    unsafe {
        mex_sys::mexPrintf(cs.as_ptr(), args);
    }
}

#[no_mangle]
pub extern "system" fn mexFunction(
    nlhs: c_int,
    plhs: *mut *mut mxArray,
    nrhs: c_int,
    prhs: *mut *mut mxArray,
) {
    let hw = CString::new("hello world\n").unwrap();
    unsafe {
        mex_sys::mexPrintf(hw.as_ptr());
    }

    let inout = …
Run Code Online (Sandbox Code Playgroud)

ffi variadic-functions rust

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

与C++ std :: string的Rust interop

我正在尝试在Rust中构建Octave函数.Octave的API是用C++编写的,所以我使用了rust-bindgen生成了绑定.我正在解决尝试生成包含的绑定std::string时出现的问题.如果我可以将它指向C++的std::string不透明和有效指针,那将是很好的.我是否可以在需要传递C++时在C++端构建实用程序功能std::string

当我第一次尝试这个时,我很天真.这显然是错误的.Rust std::ffi:CString用于C字符串,而不是C++字符串.我发现这篇最近的博客在比较两者时很有帮助.我的第一次尝试看起来像这样:

#![allow(non_snake_case)]
#![allow(unused_variables)]

extern crate octh;

// https://thefullsnack.com/en/string-ffi-rust.html
use std::ffi::CString;

#[no_mangle]
pub unsafe extern "C"  fn Ghelloworld (shl: *const octh::root::octave::dynamic_library, relative: bool) -> *mut octh::root::octave_dld_function {
    let name = CString::new("helloworld").unwrap();
    let pname = name.as_ptr() as *const octh::root::std::string;
    std::mem::forget(pname);

    let doc = CString::new("Hello World Help String").unwrap();
    let pdoc = doc.as_ptr() as *const octh::root::std::string;
    std::mem::forget(pdoc);

    octh::root::octave_dld_function_create(Some(Fhelloworld), shl, pname, pdoc)
}    

pub unsafe extern "C" fn Fhelloworld (args: …
Run Code Online (Sandbox Code Playgroud)

c++ string interop rust

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

将新标签推送到github.com时,如何在Azure Pipelines中触发生成?

几周前,我在Twitter上问了这个问题,然后花了几个周末的时间解决这个问题。我想在将新标签推送到github.com时触发构建。大多数其他CI服务都具有此功能,但是我不知道如何为Azure Pipelines启用它。我试图加入triggerrefs/tags/*azure-pipelines.yaml和在那里你可以重写触发器的UI。都没有为我工作。

azure-devops azure-pipelines

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

如何为 Envoy 代理自动加载新的 TLS 证书?

我在 Kubernetes 环境中使用https://github.com/jetstack/cert-manager自动加载https://letsencrypt.org/。它创建的证书将在 90 天后过期。在到期前30 天,cert-manager 更新证书并替换证书。证书存储在 k8s 机密中。

你如何让 Envoy Proxy自动重新加载证书?这些问题已关闭,似乎没有答案。有人提到可以帮助提供解决方案的 Secret Discovery Service (SDS),但我还没有弄清楚。

对于 nginx,可以通过将 k8s 机密添加到 k8s 卷,将卷挂载到文件系统以供 nginx 使用来配置 TLS。然后可以使用文件系统观察程序调用sudo nginx -s reload以在证书更改时重新加载配置。我看到 Envoy Proxy 支持hot restart,但我没有看到类似于 nginx 的命令来让它热重启。

有一个hot-restarter.py,但它不是文件观察器,我宁愿不在 envoyproxy/envoy:latest docker 镜像上安装 python。我认为该程序的某些功能可能会内置到一个也可以查看文件的 Rust 应用程序中,但是对于这种非常常见的场景,必须已经存在一些东西,对吧?

ssl lets-encrypt cert-manager envoyproxy

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

MongoDB UUID Standard而不是Legacy的任何性能优势?

切换到新标准UUID BinData子类型4有什么性能优势吗?我们的大部分藏品被设置为使用GuidRepresenation.CSharpLegacy这是默认为C#的驱动程序.如果我设定Mongo.Bson.BsonDefaults.GuidPresenation = Mongo.Bson.GuidRepresentation.Standard,它会有利于性能吗?还假设我们将所有现有数据转换为使用标准子类型.

mongodb mongodb-.net-driver

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