CS0246 The type or namespace name ‘ISldWorks’ could not be found (are you missing a using directive or an assembly reference?)

Non scegliere le Dipendenze dall’elenco, prendi direttamente le DLL.

Dovendo creare app (e anche Add-in) per SolidWorks, in Visual Studio potrebbe capitarvi l’errore nel titolo.

Come ho risolto ?

Semplice: anziché scegliere le librerie COM dall’elenco, mi sono andato a pescare direttamente le DLL dall’installazione di SolidWorks che, nel mio caso specifico, si trovavano (parlo della versione 2018, pure ormai obsoleta, ma vale anche per le successive) qui: C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\api\redist

Quali ho usato ? Queste (sono 3):

SolidWorks.Interop.swcommands.dll
SolidWorks.Interop.swconst.dll
SolidWorks.Interop.sldworks.dll

Dopodiché, nel mio codice (per la cronaca C#), ho usato:

using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;

Prendendo le dipendenze dall’elenco, Visual Studio non mi consigliava (IntelliSense) gli using corretti, ecco perché consiglio di: non scegliere le Dipendenze dall’elenco, prendi direttamente le DLL.

Spero vi sia di aiuto. Non sono un campione mondiale, tutt’altro, ma se avete dubbi o problemi su faccende legate a SolidWorks, sviluppo di App o Add-in per il medesimo e compagnia cantata, scrivetemi pure nei commenti, rispondo sempre (anche con un “non lo so“).

Dimenticavo, a qualcuno (che usa Visual Studio in italiano … sconsiglio anche questo, meglio abituarsi all’inglese, perché è più facile trovare online soluzione cercando – ahimé – inglese) potrebbe uscire l’errore in modo simile a questo:

CS0246 Impossibile trovare il nome del tipo o dello spazio dei nomi 'ISldWorks' (manca una direttiva using o un riferimento all'assembly?)

Autore: BuDuS

Disegnatore Meccanico, con la passione per l'Informatica. Come hobby, produco piccoli software di (in)utilità.