无法为/ link和/ reference编译器选项指定程序集xxx

时间:2014-07-10 15:40:41

标签: c# visual-studio-2013

尝试在VS2013中编译C#项目时,我在标题中收到错误。

看来我需要查看我的编译器选项,并确保/ link和/ reference选项不会重复。

现在,如果我可以找到编译器选项。我转到项目属性,但是我没有在任何可以访问编译器选项的选项卡中看到任何内容。

如何访问VS2013中的编译器选项?

3 个答案:

答案 0 :(得分:1)

/link选项不受项目属性控制。它适用于程序集引用,您可以在项目的“引用”节点中找到它们。

当引用的Embed Interop Types属性设置为True时,将使用它。适用于COM类型库的引用。如果为False,则使用/reference。很难猜到你如何打开/ link和/ reference。然而程序员已经过时的PIA陷入困境,“嵌入互操作类型”的另一个名称是“没有PIA功能”。可能与它有关。

答案 1 :(得分:1)

我知道这是一个老问题,但我自己也遇到了这个问题。 我花了一些时间试图修复它,再加上Hans Passant所说的,在这种情况下它没有多大意义。

重新启动Visual Studio后,我的问题就消失了。

如果我尝试切换Embed Interop Types - 将其从True更改为False,我可以重现此问题。这已将Copy Local更改为True。再次更改Embed Interop Types似乎会导致问题,就好在幕后只有一个选项被正确更改。

确保这些设置是我想要的,然后重新启动Visual Studio似乎使它恢复正常。

答案 2 :(得分:0)

向我的项目添加引用(Microsoft.Office.Interop.Excel)时遇到了同样的问题,该引用可能会干扰其中一个或多个引用:COM ExcelCOM Microsoft.Office.Core和{{1 }}。当我最终在代码中找到一个解决方法,让我删除第一个引用(它实际上与其他三个共享一些函数和对象),问题就解决了。