1

我正在尝试让 Windows 服务工作,但我不断收到以下错误...混合模式程序集是针对运行时的版本“v1.1.4322”构建的,如果没有其他配置信息,则无法在 4.0 运行时中加载。

Windows 服务非常简单。它查看一些数据,进行一些组织并将一些信息发送到数据库。如果数据满足特定条件,服务会连接到 K2 Workflow,找到正确的项目,然后认领并完成项目。

我的问题是在尝试连接到使用 .NET 1.1 构建的程序集中的 K2 时出现的。我试过添加

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

到我项目中的所有配置文件,但它不起作用。奇怪的是,当我在调试模式下运行服务并单步执行时,我没有任何问题,一切正常,但是当我将它作为服务安装并运行时,就会出现这个问题。

我已经检查以确保在安装配置时已复制配置,但我现在很难过,因为我唯一能在任何地方找到的是配置添加,这似乎并不能解决我的问题。

4

2 回答 2

1

我发现了我的问题。事实证明,这与我使用的框架有关。我以为我的服务 exe 是 myservice.exe,所以我将我的配置文件命名为 myservice.exe.config。经过进一步调查,我发现该服务是从基础服务类继承的,并且可执行文件名为 serviceshell.exe,因此我的配置文件需要命名为 serviceshell.exe.config。

于 2012-05-18T14:08:58.997 回答
0

您能否提供有关您正在使用的程序集的一些详细信息。您应该使用的 K2 程序集是 SourceCode.Workflow.Client,它应该适用于所有 .net 版本。

于 2012-05-18T06:46:39.153 回答