Существует ли способ вызвать использование dll версии?

проход () может взять вызываемый аргумент

, Например:

def seek_next_line(f):
    for c in iter(lambda: f.read(1),'\n'):
        pass

Эти iter(callable, until_value) функция неоднократно называет callable и приводит к своему результату, пока until_value не возвращается.

5
задан Community 23 May 2017 в 12:05
поделиться

2 ответа

Я нашел решение. Глядя на ссылку в ответе Хенка ( здесь ) и вывод журнала слияния, кажется, что установщик 3.5 SP1 устанавливает файл политики издателя, который принудительно загружает dll sp1, даже если предварительная версия sp1 dll.

Помещение этого в app.config указывает .net игнорировать политику издателя и в итоге использует версию 3.5.0.0:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" />
                <publisherPolicy apply="no"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>
5
ответ дан 14 December 2019 в 19:21
поделиться

Похоже, у вас в проекте есть ссылка на версию 3.5.1.0. Я бы попытался удалить ссылку на 3.5.1.0, если она указана в списке ссылок проекта, а затем напрямую сослаться на dll 3.5.0.0, которую вы хотите использовать вместо нее. Однако не рекомендуется настраивать таргетинг на старые библиотеки DLL, если сервер уже был обновлен до SP1 (хотя пакеты обновления должны по-прежнему поддерживать обратную совместимость с точки зрения API).

0
ответ дан 14 December 2019 в 19:21
поделиться