Reputation: 7468
I'm getting the error:
Two output file names resolved to the same output path: "obj\Debug\Project1.Form1.resources"
This error comes while trying to run a windows form application I created. Some searches showed me that this occurs due to the occurrence of two .resx files. I have two .resx files in my application. Also I have two forms in my application. I created the second form by copying the first form and renaming and modifying the copy. The two .resx files are form1.resx and form2.resx. How can I remove this error?
Upvotes: 9
Views: 38355
Reputation: 11
I encountered this problem while making a form application. When I changed the form name, the compilation problem arose due to the same error. In Visual Studio, I saw that a .resx file with 2 different names was created in the sub-tabs of the form that I changed its name in the Solution Explorer section. I deleted oldname.resx and it was fixed.
Upvotes: 1
Reputation: 1704
This error may also occur if you use Windows10 and you have localiztion resources for CR-Cyrl-CS, CR-Latn-CS cultures. Windows10 doesn't support them any more.
Upvotes: 1
Reputation: 1
When copying a form it seems that the class name of the source form is being renamed to the name of the new form, at least if you rename the new form. I restored the original name of the destination form (class file, constructor and designer file). Remember also to go through any usage of the original class name as changes also are need here. That solved the problem. (Visual Studio 2010)
Upvotes: -1
Reputation: 11577
Though I don't know why will you do it, you can use these instructions to copy properly a form. It is not recommended. It is better to inherit or use user control. But if you must:
InitializeComponent
method from form1.designer
to the new formInitializeComponent
. form1
to the new form, make sure to fix the constructorEDIT
When someone pushes the change page button you can do:
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(NextPage);
frm.Show();
this.Hide();
}
Now this is very basic syntax. you might want to have a master form that holds all the forms so you won't create over and over new forms.
The design is up to you. this example will give you basics on how to open and close forms.
Upvotes: 7
Reputation: 1121
I added twice a second form called FormSettings to my project and later I was getting the described error. In order to fix it, I removed FormSettings from the project. After that, I renamed all the files whose name was FormSettings to FormSettingsOld. When I built the application, it was giving errors about FormSettings. I performed a search for all files in the project which contained a reference to FormSettings. I found that ProjectName.csproj was making reference to FormSettings and I deleted the duplicate XML entris related to FormSettings, such as
<Compile Include="FormSettings.Designer.cs">
<DependentUpon>FormSettings.cs</DependentUpon>
</Compile>
<Compile Include="FormSettings.Designer.cs">
<DependentUpon>FormSettings.cs</DependentUpon>
</Compile>
Upvotes: 0
Reputation: 4106
In my case, it was not showing me 2 copies of .resx files. I simply restarted Visual Studio 2010 and the problem disappeared.
Upvotes: 0
Reputation: 13168
If you don't need the resx files you can just delete them and this problem goes away.
Upvotes: 3