问题标签 [netmodules]

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.

0 投票
1 回答
616 浏览

c# - 使用 Roslyn 分别编译类并将它们组合到一个程序集中

我有一组不相交的动态编写的类,我想单独编译(并修复编译错误)。然后我想将它们组合到同一个程序集中。由于它们已经被编译,我不想简单地将它们的语法树传递给程序集编译(以避免编译两次)。我试图将它们编译成 netmodules,然后使用这些 netmodules 作为对程序集的引用,但生成的程序集没有所需的类型。

这是我的测试代码(非常类似于 Roslyn 的 CompilationEmitTests.MultipleNetmodulesWithPrivateImplementationDetails())

Main() 在静态方法 Invoke() 处引发异常,因为它找不到对 A 和 B 类的引用。

我究竟做错了什么?

0 投票
1 回答
4252 浏览

c++ - Electron 应用程序和 Win32 原生桌面应用程序之间的进程间通信

我正在尝试在 Windows 上的桌面本机应用程序和电子应用程序之间实现进程间通信以进行分配(操作系统)。我是这个领域的新手,无法找到相关链接。我考虑过的选项是: 1. TCP 2. HTTP 服务器 3. COM 4. Namedpipes

NamedPipes 似乎是正确的,因为电子使用命名管道实现其 IPC。有一个 net 模块可用,它实现了看起来相似的套接字。我可以在本机应用程序中编写服务器。

这对你们来说听起来正确吗?有更好的选择吗?任何有助于我学习的建议都会很有用。

0 投票
1 回答
229 浏览

.net - 分析 .NET 模块文件 (.netmodule)

如何分析 .NET 模块?

我知道我可以在十六进制阅读器中打开它并从那里开始工作,但这并不是一种友好的处理方式。

是否有类似 ILDasm 的工具可用?

0 投票
1 回答
417 浏览

c# - 将网络模块链接到 msbuild 中的单个文件

我想通过 .netmodules 从几个 C# 项目生成一个 .NET 程序集。

我已经尝试过 ILmerge,但它还有其他问题。我还查看了 AssemblyResolve 方式,但我并不真正理解它(两者都在这里介绍:如何将多个程序集合并为一个?)。

我找到了一个可能的解决方案,可以通过 .netmodules 很好地完成任务。没有外部程序、标准工具,生成的程序集看起来像是来自一个项目(在 ildasm 中)。

这是一个 MWE:Lib.csproj

exe.csproj

两个项目的输出类型都设置为模块。“Exe”项目通过 AddModules 开关使用“Lib”网络模块(编译时需要)。这会在 Exe 输出目录中生成两个 .netmodules。

在最后一步中,链接器用于将所有 .netmodules 链接到一个程序集中(请参阅https://docs.microsoft.com/en-us/cpp/build/reference/netmodule-files-as-linker-input?view =vs-2017):

问题:最后一步可以由 MSBuild 执行吗?CMake 解决方案也将不胜感激,但我无法从 CMake 获得输出类型“模块”。

0 投票
1 回答
80 浏览

c# - 如何从 C# 主程序调用 Dafny 方法?

我需要将数据提供给 Dafny 函数并获取它们的输出。为此,我正在尝试创建一个调用 Dafny 函数的 C# 程序。

作为测试,我创建了一个非常简单的 Dafny 文件:

我的主要猜测是我应该将其作为多文件 .NET 程序集来处理。为此,我应该

  1. 使用类似的东西为程序的 Dafny 部分生成 C#dafny /spillTargetCode:1 dafnyModule.dfy
  2. 将其编译为类似的模块csc /target:module dafnyModule.cs
  3. 用类似的东西编译主 C# 程序csc Main.cs /addmodule:dafnyModule.netmodule

第 1 步有效。但是,csc第 2 步中的调用失败并出现很多错误,例如

我的问题是:

  • 步骤 2中的调用中缺少什么csc来编译 Dafny 生成的 C# 代码?
  • 这是与 Dafny 代码交互的最佳方式吗?我可以想象还有其他选择,尽管它们看起来更费力且容易出错:
    • 在 Dafny 中有主入口点并让它调用 C# 函数来处理输入/输出?
    • 有一个 C# 程序在运行时加载由 Dafny 编译器生成的 DLL?
  • 实际上,我不是 C# 人,我更愿意从 Java 调用 Dafny!但我猜 Java 支持不如 C# 成熟,而且信息也较少。Java 类似的问题没有答案...

为了完整起见,我在 macOS 11.3.1 上使用来自 mono 6.12.0.90 的 Dafny 3.1、dotnet 5.0.104、csc。