【发布时间】:2012-02-12 01:19:44
【问题描述】:
我正在使用 Visual Studio 2008 和 Compact Framework 3.5 开发一个 Windows CE 应用程序。
现在我想将所需的 dll 放在主 exe 文件的子文件夹中。那可能吗? This solution 不适用于 Windows CE。
编辑:
我希望依赖项位于客户端设备上的子文件夹中。
目前我的文件夹结构如下(所有内容都在一个目录中)
-- folder\
------ main.exe
------ controls.dll
------ webservice.dll
------ businesslogig.dll
------ nlog.dll
我想要什么:
-- folder\
------ main.exe
------ lib\
--------- controls.dll
--------- webservice.dll
--------- businesslogic.dll
--------- nlog.dll
这可以通过 app.config 文件中的设置在桌面上实现:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib" />
</assemblyBinding>
</runtime>
【问题讨论】:
-
您希望它们在开发环境或目标设备上的子文件夹中?
-
在目标上(我更新了我的问题)。
-
应用程序根目录之外的引用程序集必须具有强名称。 - MSDN (msdn.microsoft.com/en-us/library/15hyw9x3.aspx)
-
@leppie - 这不是真的,
probing指令告诉运行时在子文件夹(在本例中为 lib)中查找程序集,如果它无法在根目录中找到它们,它们不会不需要有强名称。但这是在完整的框架上。紧凑的框架似乎忽略了app.config文件。
标签: c# .net compact-framework