【发布时间】:2015-04-08 05:13:09
【问题描述】:
我正在尝试为我的 VS 2013 项目安装服务,但它拒绝使用 ReflectionTypeLoadException 注册它。我有一个附加到我的项目的 .dll,但我不知道它是如何不起作用的。
这是完整的报价:
System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。
我的流程:
- 打开 VS2013 Dev CMD 提示符
- cd 到我的调试文件夹
- 键入“InstallUtil ProjectName.exe”
我尝试过的: 我做了谷歌,这是我所做的:
- 我已将 .dll 插入到与 .exe(调试)相同的文件夹中。复制本地设置为“真”
- 我重建了项目
- 我尝试将 InstallUtil .exe 复制/运行到 .net/Framework 的同一文件夹中,但没有成功
- 这个 dll 可能依赖于第二个 .dll,但它也在同一个调试文件夹中,并且在项目中没有被引用。
我也试过这个:http://www.devopsonwindows.com/create-a-windows-service/ 但是当我写“sc create ServiceName”fullservicepath.exe“”时,我只会得到“sc create”和参数的描述。
我在这里缺少哪些步骤?有什么方法可以深入研究项目并找出导致此问题的原因?
【问题讨论】:
-
在你的开始按钮下导航到 Visual -Studio,在那里转到 Visual Studio Tools 文件夹,然后单击开发人员命令提示符并从他们的..
-
这就是我尝试的地方。
-
您能否查看此链接以了解其他要尝试的内容。-stackoverflow.com/questions/21526152/… 在您的项目中您是否正确引用了 .dll 您能否确保设置了
CopyToLocal属性 = @ 987654325@ 听起来像是参考问题 -
最简单的解释就是你忘记写installer for your service了。
-
我的水晶球说你写了一个 Winforms 应用程序,而不是一个服务。您不要在 Winforms 应用程序上使用 InstallUtil.exe。使用正确的项目模板开始,它被命名为“Windows 服务”。