【问题标题】:Why is my application using CSC during execution为什么我的应用程序在执行期间使用 CSC
【发布时间】:2009-04-01 13:16:12
【问题描述】:

我一直在尝试使用 Remotesoft Linker 和 Mini Deployment 工具从我的托管代码创建单个本机可执行文件(不需要安装框架)。它具有的可配置功能之一是 csc.exe 是否可用于最终可执行文件。它的文档说它通常只在使用 XML 序列化时才需要(我是)。我修改了构建过程以使用 SGen 创建序列化程序集,并将结果添加到使用我的 xml 类的解决方案中的每个项目的引用中。序列化类使其成为链接的 .net 可执行文件(所有 .net dll 组合成一个托管 exe);所以我假设我已经正确配置了。

但是,我的应用在运行时仍会尝试执行 csc。我是否对序列化程序集做错了什么,导致它在运行时重新创建;或者我的应用是否在做其他需要 csc 的事情,我该如何确定?

http://www.remotesoft.com/linker/

Generating an Xml Serialization assembly as part of my build

编辑:使用修改后的 app.config 进行了一些测试,以保持序列化文件在生成时可见(通过撤消构建时间生成进行测试);看来我之前确实已经正确创建了它们。除非框架的不同部分在运行时调用 csc 并且使用不同的标志不隐藏其结果,否则我认为 RemoteSoft 工具可能是罪魁祸首。我不能确定,因为即使它注入的 app.config 文件告诉它,输出可执行文件也不会留下它创建的任何临时文件。

我使用的 app.info 是这个。在其他地方,我看到了使用值 4 的示例,但无法找到它们的行为之间的任何区别。

开关> 配置>

【问题讨论】:

    标签: .net csc sgen


    【解决方案1】:

    尽管您已经生成了 XML 序列化程序集,但 Remotesoft Linker 的工作方式可能意味着内置序列化框架可能无法识别它们。我不是说是这种情况,只是说它是第一个停靠港。

    我不知道序列化框架如何决定是否使用 csc 的细节 - 但这可能是首先要调查的事情。

    【讨论】:

      猜你喜欢
      • 2015-09-03
      • 2021-11-18
      • 2011-07-23
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多