Я использую CF 10 Enterprise с установленными службами интеграции .NET после первоначальной установки и настройки двух экземпляров. Имена экземпляров по умолчанию - «cfusion», а второй мы назовем «instance2».
Я установил .NET Integration Services через автономный установщик и выбрал c: \ ColdFusion10 \ cfusion в качестве каталога, в который он должен быть установлен. Он создал каталог jnbridge в экземпляре cfusion и создал каталог ColdFusion10DotNetService. Выполнение следующего кода под экземпляром fusion отлично работает:
<cfset UtilitiesProxy = "c:/inetpub/CFCs/MyCo/Integration/UtilitiesProxy.jar" />
<cfset CoStarUtilities = "c:/inetpub/CFCs/MyCo/Integration/MyCo.Utilities.dll" />
<cfset Paths = ArrayToList([CoStarUtilities, UtilitiesProxy]) />
<cfset Publisher = CreateObject( ".net", "MyCo.Utilities.Wall.Publisher", Paths ).init() />
Запуск того же кода под instance2
дает мне ошибку, которая The assembly that contains the class must be provided to the assembly attribute.
Это та же ошибка, которую я получил до того, как службы интеграции .NET работали правильно в cfusion.
Так что мне нужно узнать, как разрешить instance2
доступ к службам интеграции .NET. Я пробовал скопировать каталог jnbridge в c:\ColdFusion10\instance2
и перезапустил экземпляр, но это не устранило проблему. У меня такое впечатление, что я упустил еще одну часть головоломки, так как instance2
был создан до установки .NET Integration Services.
Поскольку вы упомянули, что запустили программу установки и указали свой первый экземпляр ColdFusion в качестве исходной папки, я бы попытался запустить программу установки еще раз и указать второй экземпляр ColdFusion в качестве исходной папки. Я уверен, что установщик делает больше, чем просто копирует файлы (возможно, добавляет записи в реестр и т. Д.). Таким образом, запуск его в папке второго экземпляра может помочь вам.