在我的应用程序中,我动态加载一些程序集,具体取决于用户的选择。当然,这些都没有在项目中引用。使用ClickOnce发布时,这些程序集不包含在包中。

问题是 - 是否有可能欺骗ClickOnce发布者使用项目中未引用的其他文件?

有帮助吗?

解决方案

我假设您使用Visual Studio发布部署。

如果要继续这种方式,则必须将文件添加为引用,或将它们作为内容添加到项目中。在启动项目的属性下,转到发布选项卡,Application Files ..,并确保包含该文件。

您的另一个选择是使用mageui.exe(或者如果您想从命令行使用mage.exe)在Visual Studio外部构建和发布单击一次清单。

其他提示

您可能不会引用程序集,因为您不希望ClickOnce部署该程序集,并在以后动态下载。 但你不必这样做。通常参考。

有一种方法可以动态加载此处描述的程序集: http://msdn.microsoft.com/en-us/library/ak58kz04.aspx

问题是这是一种手动方法,使用mage / MageUI标记为可选。 您可以在项目属性/发布/应用程序文件中的Visual Studio中执行此操作,并在要以编程方式下载的程序集行中,按所需名称更改下载组。在链接的示例中,使用名称“ClickOnceLibrary”创建new。

MageUI的替代方案是 ClickOnce的ManifestManagerUtility

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top