Chyba pri prekladu C#

Od: Datum: 13.07.12 20:24 odpovědí: 6 změna: 14.07.12 00:01

Ahoj, potrebuji poradit s jednim kodem v C#. Při překladu dostanu chybu "Error1Ambiguity between 'Microsoft.Samples.DirectX.UtilityToolkit.DeviceSettings.BehaviorFlags' and 'Microsoft.Samples.DirectX.UtilityToolkit.DeviceSettings.BehaviorFlags'C:UsersMarekdocumentsvisual studio 2010ProjectsObranciObranciForm1.cs4329Obranci"

a to samé asi o dva řádky dál.. :(

Je to kód opsaný z jedné knížky, když jsem ho opisoval, tak jsem měl velmi podobnou chybu akorát ne s DirectX.UtilityToolkit ale s Framework, celkem tuším 6 chyb. Několikrát jsem překontroloval, že je kód opsaný správně, chybu jsem nenašel. Potom jsem zkusil kód z CD přiloženého ke knížce, a v něm jsou stále tyto dvě chyby (ale zmizely ty ostatní, což je zvláštní, vzhledem k tomu, že jsem nenašel odlišnost od mého kódu z knížky..). Je mi zhruba jasné, co ta chyba znamená, ovšem netuším, kde je chyba a hlavně jak ji odstranit. Zde přikládám složku s projektem Microsoft Visual Studio 2010, mohl by prosím někdo poradit, jak se této chyby zbavit?

Kód jsem opisoval i z komentářem v knížce, takže by se v něm snad mělo dát vyznat :)

http://ulozto.cz/xgp9Vgv/obranci-rar

Předem děkuju :)


avatar
Upozornění
Tato otázka je 4 roky bez odpovědi a proto byla uzavřena.
Máte-li podobnou otázku, a nenašli jste vhodnou odpověď, založte novou otázku.
Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 13.07.12 20:38
 
avatar

Pojmenování BehaviorFlags je nejednoznačné, konflikt je mezi jedním a tím samým namespacem. Nejspíš máte přilinkované dvě verze té knihovny, v References byste měl jednu z nich vyhodit.

Nebo zkuste "nastaveni." smazat a nechat jen BehaviorFlags, najet dovnitř slova, zmáčknout ctrl+tečku, jaké kvalifikace vám to nabídne.

 
Datum: 13.07.12 20:48
 

Děkuji za pohotovou odpověď :)

V references jsem dvakrát stejnou věc nenašel, ačkoliv tam jsou nějaké velmi podobné (viz screen).

Když odmažu "nastaveni." a dám ctrl+tečka tak se neděje nic, ale když na tom slově chvilku nechám kurzor tak se objeví rámeček s informacemi o té chybě - viz druhý screen.

doplněno 13.07.12 20:58:

nějak se koukám nenahrály ty obrázky..

doplněno 13.07.12 21:04:

zase.. tak snad teď :D

Datum: 13.07.12 21:05
 

A tady references.

Datum: 13.07.12 21:26
 
avatar

ta chyba na tom obrázku je nejspíš způsobená tím, že tam chybí jméno toho výčtového typu. např: BehaviorFlagsBFlag = CreateFlags.PureDevice;

druhá chyba je nejspíš způsobená tím, že v nastavení překladače se linkují 2 různé verze DXka.

 
Datum: 13.07.12 21:34
 

Tak jsem ze začátku kódu zkusil odstranit "using Microsoft.Samples.DirectX.UtilityToolkit;"

Tyto dvě chyby odpadly, ale objevily se tři nové "type or namespace could not be found"... Takže jestli to dobře chápu, tak tak ten UtilityToolkit být musí, a ty původní dvě chyby budu muset odstranit jinak.. Jak?

Datum: 14.07.12 00:01
 

Tak vyřešeno, vzpoměl jsem si totiž že jsem (opět podle té knížky) měl přidat kromě references do zvláštní složky "framework" nějaké podpůrné třídy DirectX z DirectX SDK/samples/managed/common.. Tak jsem postupně šel, a po jedné odstraňoval.. Po odstranění dxmutdata.cs ze solution exploreru, obě chyby zmizely :)

Díky za pomoc ;)

 

 

 

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.