问题
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?
回答1:
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:
- Delete the second form.
- Recreate it by actually creating a form
- Copy the
InitializeComponentmethod fromform1.designerto the new form - Also copy the part below
InitializeComponent. - Copy the code of
form1to the new form, make sure to fix the constructor - Please do not copy a full form using copy paste
EDIT
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.
回答2:
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.
回答3:
If you don't need the resx files you can just delete them and this problem goes away.
回答4:
In my case, it was not showing me 2 copies of .resx files. I simply restarted Visual Studio 2010 and the problem disappeared.
回答5:
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>
回答6:
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)
来源:https://stackoverflow.com/questions/18758239/error-two-output-file-names-resolved-to-the-same-output-path-obj-debug-proje