在我的应用程序中,我会根据用户的选择动态加载一些程序集。自然地,这些程序集不会被项目引用。使用ClickOnce发布时,这些程序集不会被包含在包中。
问题是 - 是否有可能欺骗ClickOnce发布者使用项目未引用的其他文件?
问题是 - 是否有可能欺骗ClickOnce发布者使用项目未引用的其他文件?
你可能不引用程序集,因为你不想被ClickOnce部署并在以后动态下载。 但你不必这样做。通常引用即可。
这里有一种动态加载程序集的方法: http://msdn.microsoft.com/en-us/library/ak58kz04.aspx
问题是这是一种手动的方法,使用mage/MageUI标记为可选项。 你可以在Visual Studio的项目属性/Publish/Application Files中进行操作,在你想要以编程方式下载的程序集所在行中,通过更改下载组的名称来创建新的。在链接示例中,创建一个名为"ClickOnceLibrary"的新组。
我假设您正在使用Visual Studio发布部署。
如果您想继续这种方式,您将不得不将文件添加为引用,或将它们作为项目内容添加。在启动项目的属性下,转到发布选项卡,应用程序文件..,并确保文件已包含。
您的另一个选择是使用mageui.exe(或如果您想从命令行工作,则使用mage.exe)在Visual Studio之外构建和发布单击清单。