проход () может взять вызываемый аргумент
, Например:
def seek_next_line(f):
for c in iter(lambda: f.read(1),'\n'):
pass
Эти iter(callable, until_value)
функция неоднократно называет callable
и приводит к своему результату, пока until_value
не возвращается.
Я нашел решение. Глядя на ссылку в ответе Хенка ( здесь ) и вывод журнала слияния, кажется, что установщик 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>
Похоже, у вас в проекте есть ссылка на версию 3.5.1.0. Я бы попытался удалить ссылку на 3.5.1.0, если она указана в списке ссылок проекта, а затем напрямую сослаться на dll 3.5.0.0, которую вы хотите использовать вместо нее. Однако не рекомендуется настраивать таргетинг на старые библиотеки DLL, если сервер уже был обновлен до SP1 (хотя пакеты обновления должны по-прежнему поддерживать обратную совместимость с точки зрения API).