缺少参考

时间:2011-11-29 16:20:10

标签: c# reference

在项目中,我引用了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?) 

但是当在ConversionJob上按f12时,它让我参加了课堂辩护

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>"

我试图在谷歌找到解决方案 - &gt; http://www.sanderstechnology.com/2011/warning-msb3268-you-are-about-to-experience-pain/10646/#.TtYrXGP20Z8

6 个答案:

答案 0 :(得分:6)

检查应用程序的目标框架,可能是您正在为客户端配置文件构建,但引用的程序集需要完整的框架。

答案 1 :(得分:2)

尝试将“目标框架”更改为“.NET Framework 4”而不是“.NET Framework 4 Client Profile”。

项目属性 - &gt;应用程序选项卡 - &gt;目标框架

enter image description here

答案 2 :(得分:0)

您可能需要删除(确保备份)GAC文件夹中的12.x.x.x .dll,并确保在解决方案中引用14.x.x.x.

答案 3 :(得分:0)

如果查看项目引用,是否找到了程序集?如果图标无法解析,图标会有所不同。

答案 4 :(得分:0)

1.尝试删除然后手动添加引用(有时它会有所帮助 - VS丢失所需的dll但如果不干净则不会显示另一个符号)

  1. 如果1.确定然后备份并尝试从GAC文件夹中删除(从它调用汇编的地方下面)

答案 5 :(得分:0)

您的代码中可能有某个名称为Office的命名空间或类。编译器使用您的命名空间而不是Office。 换句话说,我认为您的项目名称或您在其中的任何参考文献都有名称冲突。

请调查重叠的命名空间/类。