我正在尝试将一些.net代码移植到新的Core运行时,并且我在移植一些动态编译时遇到了不好的时间.
要恢复,它总是要求我引用System.Runtime和mscorlib,但不知道如何引用它们.
作为旁注,我不能引用Framework 4.6,因为项目必须发布到带有.net Core的Linux机器上.
这是最小代码:
string testClass = @"using System;
namespace test{
public class tes
{
public string unescape(string Text)
{
return Uri.UnescapeDataString(Text);
}
}
}";
var compilation = CSharpCompilation.Create(Guid.NewGuid().ToString() + ".dll")
.WithOptions(new CSharpCompilationOptions(Microsoft.CodeAnalysis.OutputKind.DynamicallyLinkedLibrary))
.AddReferences(
MetadataReference.CreateFromFile(typeof(Object).GetTypeInfo().Assembly.Location),
MetadataReference.CreateFromFile(typeof(Uri).GetTypeInfo().Assembly.Location)
)
.AddSyntaxTrees(CSharpSyntaxTree.ParseText(testClass));
var eResult = compilation.Emit("test.dll");
Run Code Online (Sandbox Code Playgroud)
它总是抱怨mscorlib(在这个例子中)和System.Runtime(在我的真实项目中)的需要.
我正在使用Microsoft.CodeAnalysis.CSharp软件包版本2.0.0-beta3
关于如何使用Roslyn和.net Core动态编译的任何想法?
我使用HttpListener创建了一个服务器.它在没有SSL的情况下工作得很好,但是使用SSL时会出现奇怪
我已经使用httpcfg安装了证书,甚至使用我自己的程序,它安装正确,监听器启动并提供HTTPS请求,但始终要求提供客户端证书.
它不会发生在Windows/.net上,只有Linux/mono(我使用的是ver 3.4.0)并且非常烦人,我不希望每次尝试登录客户端时都会询问用户证书.
这是单声道错误还是有任何方法可以禁用客户端证书协商?
谢谢.
我有一个非常类似于 Nullable 的泛型类,名为 Optional,它是一个具有一些属性和值 (T) 属性的泛型结构。
我创建了一个可以处理所有这些类型的 SqlMapper.ITypeHandler,但是我无法使用 Dapper 注册它,SqlMapper.AddTypeHandler(Typeof(Optional<>), new OptionalHandler());因为它会引发异常,更糟糕的是,我看到 Dapper 使用字典来存储类型转换器,使用注册类型作为键,所以它必须是具体类型才能使其工作。
我试图创建一个自定义 Type 实现并覆盖==运算符和 Equals 函数,但是当我尝试像这里SqlMapper.AddTypeHandler(new OpType(), new OptionalHandler());这样使用这种新类型时,它会抛出一个System.NotSupportedException, the specified method is not compatible.
所以问题是,是否有可能为 Dapper 分配一个 ITypeHandler 来处理从通用类型派生的所有类型?
这是我创建的 Type 类,如果有人知道如何修复它才能工作,它可能是一个很好的答案。
public class OpType : Type
{
public static Type baseType = typeof(Optional<>);
public override Assembly Assembly
{
get
{
return baseType.Assembly;
}
}
public override string AssemblyQualifiedName
{
get
{
return baseType.AssemblyQualifiedName;
}
}
public override …Run Code Online (Sandbox Code Playgroud) 我创建了一个动态加载库并执行它的主类的系统。一切都很完美,我遇到的问题是如何发布这个 DLL 及其所有依赖项。由于没有可执行项目引用它,我必须手动检索依赖项:尝试加载库,检查所需的 DLL,转到 NuGet 缓存文件夹,复制库,再试一次,检查它是否抱怨更多依赖项等等直到拥有所有必需的库。
这是一个真正的痛苦,我还没有找到任何关于如何做到这一点的信息,是否可能,或者我是否坚持这个?
该库是一个 .net 标准 2.0 库,我之前使用 .net classic 执行过此操作,输出文件夹始终包含所有必需的库,甚至是来自 NuGet 包的库,但使用 .net 标准时,某些内容发生了变化,现在只有来自正在复制引用的项目,但没有将引用的 NuGet 包复制到输出文件夹。
干杯。
我已成功将 JSignature 数据保存到数据库中。字符串看起来像这样。
image/jsignature;base30,4P2cl1H1J1T1U1P1K1yiZ2X54000000337ehq1v1u1z1Atke8200Y47dkqsmda76422232368dj1C1z1D1D1xrea310Z79caa763000Y32568adgol_4DZ335dcfifega3Y79bbcdecab864320Z4caec866767753200Y34667776766472200Z89f975551Y1668aba885330000Z3576
Run Code Online (Sandbox Code Playgroud)
现在我需要在下一页中再次显示签名。
我尝试做
$("#getSignatureBack").jSignature("importData", data );
其中data是上面的字符串,是我想要显示签名getSignatureBack的 ID 。div我该怎么做?
谢谢
我正在创建一个将产生大量工作任务的系统,在我的应用程序中,我正在执行Task.WaitAny以检索第一个完成的任务。
我担心的是我可以发送多少个任务给WaitAny,我知道WaitHandle的WaitAny / All最多只能支持64个等待句柄,而且我不确定Task.WaitAny的基础机制是否在内部使用等待句柄来等待完成。任务,因此这些限制适用于他们。
可以将多少个任务传递给Task.WaitAny(与WaitHandles一样)有没有限制?
干杯。
我正在创建一个 ASP.NET Core 2.0 Web API,一切都运行得很好,但我在使用 Swashbuckle 时遇到了问题。我已经为我的 API 添加了一个基本的身份验证,并为 Swasbuckle 启用了基本方案:
public void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
c.AddSecurityDefinition("Basic", new BasicAuthScheme { Description = "Basic authentication" });
});
services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)
当我访问 SwaggerUI 时一切正常,我看到授权方案,我可以添加用户名和密码。调用任何 api 时都会出现问题,授权标头永远不会发送到 API 控制器。
我是否需要做任何其他事情才能告诉 Swasbuckle 它必须发送授权标头?
我知道这个问题已被普遍提出,但回答是"依赖",所以我正在创建一个具体的问题,希望得到一个具体的答案.
我知道IF在GLSL上的邪恶,它们可能非常昂贵,甚至在某些硬件中执行所有代码.
所以,我有一个示例的片段着色器(双抛物面阴影贴图),它使用if来确定使用哪个贴图并计算深度,但我知道用乘数替换那些是非常容易的,问题是有片段着色器内部的纹理采样,使用if或使用乘数来过滤未使用的数据会更快吗?
这些是建议的代码:
IF版本:
//Alpha is a variable computed on the fly, cannot be replaced
float depth = 0;
float mydepth = 0;
if(alpha >= 0.5f)
{
depth = texture2D(ShadowFrontS, P0.xy).x;
mydepth = P0.z;
}
else
{
depth = texture2D(ShadowBackS, P1.xy).x;
mydepth = P1.z;
}
Run Code Online (Sandbox Code Playgroud)
过滤版本:
float mlt = ceiling(alpha - 0.5f);
float depth = 0;
float mydepth = 0;
depth = texture2D(ShadowFrontS, P0.xy).x * mlt;
mydepth = P0.z * mlt;
mlt = 1.0f - mlt;
depth = depth …Run Code Online (Sandbox Code Playgroud) 让我描述一下我的怀疑.我有一个系统,我有三个实体,医生,病人和预约.预约有医生的身份和患者身份证.
我现在需要检索所有与具体医生预约的患者,而且我不确定什么会更快,一个独特的或者是id的subselect,这些是查询:
使用distinct->
SELECT DISTINCT patient.id, patient.name, patient.surname FROM
appointment INNER JOIN patient ON patient.id = appointment.patientid WHERE
appointment.doctorid = @id;
Run Code Online (Sandbox Code Playgroud)
使用subselect->
SELECT patient.id, patient.name, patient.surname FROM patient
WHERE patient.id IN (select appointment.patientid FROM appointment
WHERE appointment.doctorid = @id);
Run Code Online (Sandbox Code Playgroud)
不确定这会影响,系统将在MariaDB集群上运行.
c# ×6
.net ×2
.net-core ×1
android ×1
asp.net-core ×1
asynchronous ×1
dapper ×1
dll ×1
generics ×1
glsl ×1
httplistener ×1
ios ×1
javascript ×1
jquery ×1
jsignature ×1
mariadb ×1
mono ×1
mysql ×1
nuget ×1
opengl ×1
publish ×1
roslyn ×1
sql ×1
ssl ×1
swashbuckle ×1
task ×1
windows ×1