问题标签 [clr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 如何在 SQL CLR 中为 WCF 加载不同的端点?
我们正在使用 CLR 在 SQL 2005 DB 中部署一些新的 WCF 调用。在测试中,我在代码中硬编码要连接的端点,并将其部署到我们的测试服务器。当我们将其部署到生产环境时,我们会将其部署到许多不同的 SQL DB,并使用不同的端点连接(在不同的服务器上运行相同的服务)。这样的事情怎么能做到?是否有可以参考的配置文件将 dll 部署到 SQL 中?
.net - 存在哪些 CLR/.NET 字节码工具?
我非常了解用于操作、生成、反编译 JVM 字节码(ASM、cglib、jad 等)的 Java 工具。CLR 字节码有哪些类似的工具?人们是否为 CLR 进行字节码操作?
sql - 如何在不使用 Visual Studio 的情况下部署托管存储过程?
我读过的所有内容都表明,在创建托管存储过程时,在 Visual Studio 中单击鼠标右键并选择部署。这很好用,但是如果我想在 Visual Studio 之外将它部署到多个不同的位置怎么办?我尝试使用在 SQL 中构建的项目的 dll 创建程序集,虽然它确实添加了程序集,但它没有从程序集中创建程序。有没有人想出如何在不使用 Visual Studio 的情况下直接在 SQL 中执行此操作?
c - .NET 开发人员*真的*应该花时间学习 C 以进行低级接触吗?
当 Joel Spolsky 和 Jeff Atwood 在他们的播客中开始就程序员是否应该学习 C 产生分歧时,无论他们的行业和交付平台如何,它在开发人员社区内引发了一场相当爆炸性的辩论,今天可能仍在某些群体中肆虐。我一直在阅读一些程序员博主的文章,他们对此事的看法。双方的论点当然很重要,但我没有发现从只专注于 .NET Framework的开发人员的角度来看,这是一个独特的视角。几乎所有人都在评论一般程序员的观点。
我想达到什么目的?回想一下 Jeff Atwood 的观点,即处于如此高水平的开发人员将花费的大部分时间都花在学习业务/领域上,而不是学习满足这些领域需求的技术所需的一切。以我的工作经验,这是对许多工作生活的非常准确的描述。现在假设 .NET 开发人员可以花时间进行“课外”学习,那应该是 C 吗?
作为记录,我自己在学校就学过 C,我完全可以理解和欣赏支持者的推理。但是,仔细考虑之后,我个人认为 .NET 开发人员不应该直接研究 C。因为,我希望更多的开发人员花一些时间来学习 - MSIL和CLR。
也许我被一群不寻常的同事困住了,我不知道,但在我看来,很多人并没有意识到他们的 C# 或 VB 代码在 JIT 进入并使其成为原始机器之前首先在 IL 中编译代码。大多数人不了解 IL,并且对 CLR 如何准确处理他们编写的代码不感兴趣。通过 C#阅读 Jeffrey Richter 的CLR在很多方面都让我感到震惊。很高兴我读了它,尽管同事们认为它“水平太低”。我不是 IL 专家,但有了基础知识,我发现自己更容易理解他的文字,因为我已经熟悉了 IL 的堆栈行为。我发现自己在反汇编程序集,以查看当我编写某些代码时 IL 的结果。
我学习 CLR 和 MSIL 因为我知道那是我下面的直接层。允许我执行自己的工作的层。C,实际上是进一步下降。更接近我们“现实”的是CLR和MSIL。这就是为什么我会建议其他人尝试这些,因为我没有看到足够多的人深入研究这一层。或者,您的团队是否已经全部熟悉 MSIL?
.net - 从 SQL Server 存储过程或函数引用 .NET 程序集
是否可以从 SQL Server 存储过程或函数引用 .NET 程序集,或者以其他方式从 SQL Server 访问 clr 代码?
编辑虽然这个解决方案需要有点通用,但我相当有信心期待 SQL 2005+
.net - 您可以在版本 2 CLR 安装上运行版本 3 .Net 二进制文件吗?
我们正在考虑使用 .Net 3 编写 out 项目的下一个版本,但想知道我们是否可以强制最终用户安装 .net 框架版本 3。
c# - 铸造和转换一样吗?
在 Jesse Liberty 的 Learning C# 一书中,他说“一种类型的对象可以转换为另一种类型的对象。这称为强制转换。”
如果您调查从下面的代码生成的 IL,您可以清楚地看到转换后的赋值与转换后的赋值不同。在前者中,您可以看到正在发生的装箱/拆箱;在后者中,您可以看到对转换方法的调用。
我知道最终这可能只是一个愚蠢的语义差异——但只是转换的另一个词。我并不是要刻薄,但我对任何人对此的直觉不感兴趣——意见在这里不重要!谁能指出一个明确的参考来确认或否认铸造和转换是否是同一件事?
谢谢
rp
在马特关于显式/隐式的评论之后添加的注释:
我不认为隐式/显式是区别。在我发布的代码中,两种情况下的更改都是明确的。将 short 分配给 int 时会发生隐式转换。
给 Sklivvz 的注意事项:
我想确认我对 Jesse Liberty(通常是清晰明了的)语言松散的怀疑是正确的。我认为 Jesse Liberty 对他的语言有点松懈。我知道转换是在对象层次结构中路由的——即,您不能从整数转换为字符串,但可以从派生自 System.Exception 的自定义异常转换为 System.Exception。
不过,有趣的是,当您尝试从 int 转换为字符串时,编译器会告诉您它无法“转换”该值。也许杰西比我想象的更正确!
clr - .Net 4.0 将包含新的 CLR 还是保留 2.0 版
.Net 4.0 会使用新版本的 CLR(v2.1、3.0)还是会继续使用现有的 v2.0?
补充:是否有可能继续使用 CLR v2.0 并添加 DLR v1.0?
更新:虽然这看起来像是一个无法回答的推测性问题,但 VS 团队似乎正在发布越来越多的关于 VS10 和 .Net 4.0 的信息,因此可能很快就不是这样了。(此处提供信息-> http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx)
.net - 是否有在 CLR 上运行的 CLR?
我想知道是否有使用 CLI(公共语言基础结构)实现的与 .NET 兼容的 CLR,例如,使用 .NET 本身,或者至少是否有任何资源可以帮助构建一个。
基本上,类似于 .NET 程序将程序集作为 MemoryStreams 加载、解析字节码、构造类型并执行指令。或者,它可以使用 Reflection.Emit 或然而 JIT 编译为标准 IL。
我不想编译由原始 CLR 运行的 .NET 语言。我想要一个用 .NET 语言(不是通常的非托管 C++ 或 C)编写并运行CIL 的 CLR。如果操作正确,它应该能够自行运行。
对使用 Mono.Cecil 做这种事情有什么想法吗?
vb.net - VB.Net - 如何支持隐式类型转换以及自定义相等
固定:见底部注释
我正在实现一个支持两个特性的泛型类,隐式类型转换和自定义相等运算符。好吧,它也支持 IN 平等,如果它这样做的话。
我遇到的问题是,如果我支持 #2 隐式转换,那么我无法让我的相等运算符工作,因为他们抱怨没有最具体的转换。
我得到的错误是这样的(为了简洁而简化了一点):
实现这一点的最佳方法是什么。同样重要的是,我应该遗漏什么?我已经实现了以下转换
在我的加宽运算符中,我进行了一些反思,这就是为什么当我与左侧的字符串进行比较或赋值时,我希望能够将 DOWN 隐式转换为 String。
修复(编辑)
我在实施的过程中做得太过火了,因为我不明白发生了什么。基本类型(即 string/double/guid)之间的比较通过扩展 ctype(...) as String(或 Guid 等)运算符进行。最后,我刚刚实现了这些功能,除了从类分配到基类型实例之外,我所有的测试用例仍然通过
注释是 c 风格,但代码是 vb.net
当然,这门课比这要复杂一些,但这给了我我需要的一切:)