Visual Studio теряет ссылку при попытке сборки - PullRequest
4 голосов
/ 21 апреля 2011

Я начал использовать Thrift около недели назад. Я получил последний источник из SVN и собрал библиотеку C # (Thrift.dll). Я использовал библиотеку для создания прототипа TCP-клиента / сервера с типами данных, которые будет использовать моя команда. Это работало без проблем, я просто следовал примеру кода в репозитории SVN.

Вчера я хотел запустить тот же тест, но вместо HTTP. Я искал в Интернете некоторые и обнаружил, что с момента, когда я получил код на прошлой неделе, до вчерашнего патча «THRIFT-322» https://issues.apache.org/jira/browse/THRIFT-322

Был применен к багажнику. Так что я обновил свой исходный код из SVN и увидел новый класс THttpHandler. Я перестроил Thrift.dll, чтобы я мог использовать класс THttpHandler, но теперь всякий раз, когда я ссылаюсь на новую dll, Visual Studio 2010 выдает мне ошибку во время компиляции: «Тип или пространство имен« Thrift »не может быть найдено (вы пропускаете использование»). директива или ссылка на сборку?) ". Когда я заменяю ссылку на старый Thrift.dll, который у меня есть, я не получаю эту ошибку.

Я не могу понять, что я делаю неправильно, я просто перекомпилировал Thrift.dll из SVN-источника и больше не могу ссылаться на Thrift.dll. Когда я впервые добавляю ссылку, кажется, что она будет работать нормально. Visual Studio дает мне правильный intellisense и т. Д. После того, как я пытаюсь создать его, как будто больше нет ссылки на Thrift.dll. Есть идеи?

Я также отправил это в Список рассылки Thrift Users, я просто подумал, что это может быть более общим, и кто-то здесь может помочь.

Спасибо, -Sean

Ответы [ 3 ]

20 голосов
/ 21 апреля 2011

Поскольку вы упомянули об использовании VS 2010 ... Я иногда видел эту ошибку / поведение, когда я компилировал проект .NET 4.0, и моя целевая среда для проекта была установлена ​​на ".NET Framework 4.0 Client Profile" вместо ".NET Framework 4.0 ".Так что вы можете проверить это и посмотреть, поможет ли это.

2 голосов
/ 19 октября 2011

У меня была похожая проблема, мне пришлось перейти с «.NET Framework 4.0 Client Profile» на «.NET Framework 4.0», и она работала, потому что ссылочная dll скомпилирована с использованием .NET Framework 4.0

0 голосов
/ 21 апреля 2011

Одно из предложений, которое у меня есть, это проверить файл с «refresh» в расширении, например, Thrift.dll.refresh или что-то подобное.Этот файл обычно добавляется при добавлении ссылки.Попробуйте удалить этот файл, замените dll и попробуйте buildtign и запустите снова.

...