如何在Excel(VBA)中使用我的C#項目時它是可執行形式?爲COM Interop添加一個.NET EXE作爲VBA參考(在Excel中)
在Visual Studio中,如果我轉到我的項目設置並將「輸出類型」更改爲「類庫」,則可以在Excel VBA中成功添加對我的項目的引用(通過瀏覽到引用中的DLL部分)。
然而,當我的「輸出類型」設置爲「Windows應用程序」,如果我嘗試添加引用(Excel的VBA內)到新生成的EXE文件,我收到以下錯誤:
Can't add a reference to the specified file
如何在Excel VBA中引用我的.NET EXE?
(我使用的EXE,而不是一個DLL的目的是爲了讓我的應用程序可以同時作爲一個Windows應用程序,並作爲一個COM對象)不知道確切的細節
感謝您的回答。我不確定是否[這個人是正確的](http://stackoverflow.com/questions/7054481/how-to-produce-a-mix-of-dll-and-exe-in-one-c-sharp -project-in-visual-studio-or-o/7055824#7055824)但他聲稱_you可以引用一個.net可執行文件,就好像它是一個dll一樣,_如果可能,我寧願不部署2個單獨的項目。如果我只發出一個exe文件,它會更清潔。 – user966893
你**可以**添加任何.NET **程序集**作爲任何其他** .NET項目**的參考,這是真的。 .NET不關心它是否是一個帶有.exe或.dll或.blurb擴展名的程序集,只要它是一個.NET程序集。但這與在Excel VBA中使用.NET DLL有很大不同! –
明白了。我似乎記得VBA可以引用一個VB6 EXE,但是可能類似的東西不可能與.NET <=> VBA通信。 在.NET項目屬性的** Assembly Information **中實際上有一個選項,它允許您設置「Make assembly COM-Visible」。這個選項也爲Windows應用程序啓用,但也許它只適用於DLL。 – user966893