Недостающая ссылка - PullRequest
3 голосов
/ 29 ноября 2011

В проекте у меня есть ссылка на Microsoft.Office.Word.Server и в коде у меня есть метод, который принимает аргумент типа ConversionJob, но когда я пытаюсь скомпилировать его, у меня появляется ошибка

The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)    


The type or namespace name 'ConversionJob' could not be found (are you missing a using directive or an assembly reference?) 

но когда нажимаешь f12 на ConversionJob, меня переводят в класс

using Microsoft.Office.Word.Server.Service;
using Microsoft.SharePoint;
using System;

namespace Microsoft.Office.Word.Server.Conversions
{
    public class ConversionJob
    {
        public ConversionJob(WordServiceApplicationProxy serviceApplicationProxy, ConversionJobSettings settings);
        public ConversionJob(WordServiceApplicationProxy serviceApplicationProxy);

...

enter image description here

что не так?

целевой структурой является .Net framework 3.5

Решение
Я решаю проблему. Я смотрю на вывод и там было сообщение:

Microsoft.Common.targets(1360,9): warning MSB3268: The primary reference "<assembly reference>" could not be resolved because it has an indirect dependency on the framework assembly "<assembly" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v3.5". To resolve this problem, either remove the reference "<assembly>" or retarget your application to a framework version which contains "<assembly>"

Я пытаюсь найти решение в Google и -> http://www.sanderstechnology.com/2011/warning-msb3268-you-are-about-to-experience-pain/10646/#.TtYrXGP20Z8

Ответы [ 6 ]

6 голосов
/ 29 ноября 2011

Проверьте целевую платформу вашего приложения, возможно, вы создаете профиль клиента, но для указанной сборки требуется полная структура.

2 голосов
/ 29 ноября 2011

Попробуйте изменить «Target Framework» на «.NET Framework 4» вместо «.NET Framework 4 Client Profile».

Свойства проекта -> Вкладка приложения -> Целевая платформа

enter image description here

0 голосов
/ 29 ноября 2011

Возможно, у вас есть пространство имен или класс с именем Office где-то в вашем коде. Компилятор использует ваше пространство имен вместо Office. Другими словами, я думаю, что у вас есть столкновение имен с вашим проектом или с любыми ссылками, которые у вас есть в нем.

Пожалуйста, проверьте наличие перекрывающихся пространств имен / классов.

0 голосов
/ 29 ноября 2011

1. Попробуйте удалить, а затем вручную добавить ссылку (иногда это помогает - VS теряет нужную dll, но не показывает ее с другим знаком, если она не чистая)

  1. если 1. хорошо, то сделайте резервную копию и попробуйте удалить из папки GAC (чтобы понять, откуда она вызывает сборку)
0 голосов
/ 29 ноября 2011

Если вы посмотрите на ссылки проекта, он находит сборку? Значок будет выглядеть по-другому, если не сможет его решить.

0 голосов
/ 29 ноября 2011

Скорее всего, вам нужно удалить (УБЕДИТЕСЬ, ЧТОБЫ ОБРАТИТЬ ЭТО) 12.x.x.x .dll в папке GAC и убедиться, что вы ссылаетесь на 14.x.x.x в своем решении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...