开发者

Warnings and errors (CS0436, CS0234) when creating user controls composed of other user controls in the same project

开发者 https://www.devze.com 2023-02-10 03:02 出处:网络
I\'m working on a Windows Forms solution with many winform ui projects. There is a class library project that contains some custom shared controls, named MyControls.

I'm working on a Windows Forms solution with many winform ui projects. There is a class library project that contains some custom shared controls, named MyControls.

Now, when I create a control in MyControls that is composed of one or more controls in the same project, I run into problems.

I either get compilation warnings: warning CS0436: The type 'MyType' in 'path-to\MyType.cs' conflicts with the imported type 'MyType' in 'MyControls.dll'. Using the type defined in 'path-to\MyType.cs'. Or I get a bunch of different compilation errors, a开发者_如何转开发ll pointing to "MyControls.dll" (error CS0234 - "are you missing an assembly reference?").

I get either the errors, or the warnings, never both.

How to solve this?

Note

I added visual-studio-2010 because that's the version I experienced the problems with. No idea if this relates to other versions too.


I found that Visual Studio adds a self-reference to MyControls when I drop a control from the MyControls project on another control in MyControls:

<Reference Include="MyControls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" />

My current work-around is to manually delete this reference from the MyControls.csproj using a text editor. When I've done this, everything works fine, until I drop another control that triggers a self reference.

Better solutions are appreciated!


you can make a small and "legal" change in your solution and get the "legal" solution... lets say your project name is: "project01" go to references folder in your project - one of your references called "project01" - just remove it... the the warning is very fair! you design a form and in the other hand import your project as a reference!


I know this thread is a bit old, but I just went looking for a solution to this issue, and it seems that MS doesn't have anything other than what Marijn suggested earlier:

https://connect.microsoft.com/VisualStudio/feedback/details/613502/automatically-add-self-reference

Hopefully it's fixed in VS 2012.

0

精彩评论

暂无评论...
验证码 换一张
取 消