Я отвечаю на свой вопрос.
Проблема заключается в неправильной аннотации в классе.
@RequestMapping(path = {...})
@RestController
public class SomeController {
}
Таким образом, оказывается, что файлы.NET были скопированы в C:\Program Files\Microsoft.NET\Primary Interop Assemblies\
. Однако они никогда не регистрировались в GAC.
я закончил тем вручную, что перетащил файлы в C:\Program Files\Microsoft.NET\Primary Interop Assemblies
к C:\windows\assembly
, и приложение работало над той проблемной машиной. Вы могли также сделать это программно с Gacutil.
, Таким образом, кажется, что что-то произошло с.NET во время установки, но это, кажется, исправляет проблему. Я надеюсь, что это выручает кого-то еще!
Попытайтесь идти в вкладка Publish в свойствах проекта и затем выберите кнопка Application Files . Затем установите следующие свойства:
После этого, необходимо переиздать приложение.
, Если ссылка будет иметь CopyLocal=true, то ссылка будет опубликована с приложением. Если ссылка будет иметь CopyLocal=false затем, то ссылка будет отмечена как предпосылка. Это означает, что блок должен быть установлен в GAC клиента, прежде чем приложение ClickOnce установит.
существуют некоторые блоки, которые установлены в GAC из-за установки Visual Studio, не установки Платформы.NET. Это могло быть Вашей ситуацией.
У меня была та же проблема с развертыванием ClickOnce.
я решил проблему путем движения во вкладку 'Publish' в свойствах проекта и затем нажимания кнопки 'Application Files'.
я затем выбрал опции:
Это решило мою проблему, когда я переиздал.
я надеюсь что эта справка Вы :D
Ну, Вы не можете установить на GAC использование ClickOnce. Это документируется в эта статья .
MSDNПроверьте, действительно ли вы используете ссылку EnvDTE. Если нет, удалите его и перекомпилируйте.
Интересно, что у меня не было никаких ссылок на stdole в моем проекте, но у меня был пользователь, который все еще получал ошибку. Мне пришлось добавить ссылку, а затем изменить настройку, чтобы включить. Надеюсь, это сработает.