问题
I had some monodevelop programs with a GTK# user interface running smoothly in ubuntu 11.04 without unity. I have upgraded to ubuntu 11.10 with unity. Now I get the following error:
"The type or namespace name 'Gtk' could not be found. Are you missing an assembly reference?".
And indeed in my references the references atk-sharp, gdk-sharp, glade-sharp, glid-sharp, stk-sharp and pango-sharp are colored red and I can't re-add them.
If I search in the software to install at gtk-sharp then it tells me Gtk# 2.10 is installed. If I start a new gtk project in monodevelop it gives the same errors.
回答1:
This issue is due to Mono runtime version. Please change Mono runtime version of the project from Mono/.NET 3.5 to Mono/.NET 4.0 to fix this issue.
For this, please follow the steps as given below:
- Launch 'Project Options' dialog using Solution Explorer.
- Select 'General' project settings available under 'Build' group
- Change Runtime version to Mono/.NET 4.0.
- MonoDevelop will upgrade the current project as Visual Studio 2010 equivalents. Then, Rebuild the project and verify the outcome.
回答2:
In my case solution was installing GTK# libraries. For Debian based distros GTK# could be installed as
sudo apt-get install gtk-sharp2
Or if you are using a RedHat based distro,
yum install gtk-sharp2-devel
See Tommy's comment above.
来源:https://stackoverflow.com/questions/9014780/gtk-in-monodevelop-not-working-anymore-after-upgrading-to-ubuntu-11-10-unity