Как получить плотность экрана с помощью Cocos2d-x?

Да, общие файлы (если по какой-либо причине вы не хотите размещать их в GAC) можно развернуть, например, в папке Common Programs .

к способу работы вашего приложения вам может понадобиться загрузить их с помощью Assembly.LoadFrom () , используя путь, который вы получаете из Environment.GetSpecialFolder () для среды . SpecialFolders.CommonPrograms или присоединение и обработчик событий для события AppDomain.AssemblyResolve .

Давайте посмотрим на простой и простой пример:

// Put this in your initialization code
public static void Main()
{
    AppDomain.CurrentDomain.AssemblyResolve += new ResolveAssembly(MyResolveEventHandler);
}

private static Assembly ResolveAssembly(object sender, ResolveEventArgs e)
{
    // Clean, check, double check and verify path name to be sure it's a valid
    // assembly name and it's not a relative path itself, you may even check e.RequestingAssembly
    string path = ...; 

    return Assembly.LoadFrom(path);
}

Если у вас есть каталог, и вы хотите загрузить их при запуске (на всякий случай ...):

private static LoadThemAll(folderPath)
{
    foreach (var path in Directory.GetFiles(folderPath, "*.dll"))
        Assembly.LoadFrom(path);
}

Не забудьте добавить правильную обработку ошибок (для неконтролируемых DLL, неправильных версий и все остальное может произойти, особенно потому, что эти сборки будут загружены в ваш AppDomain, и каждый может поместить вредоносный в эту папку).

Конечно, все они могут быть применены к любой (доступной) папке, которая один лучший ... ну, это зависит от того, что вы tr ying для загрузки и того, как он развернут (вы даже можете искать в реестре, чтобы динамически находить, где находятся файлы поддержки).

Наконец, если сборки, на которые вы ссылались, являются сильными, и они находятся на известном, фиксированном, неизменяемом вы можете использовать в вашем файле .config.

0
задан PWiggin 1 June 2013 в 23:55
поделиться