% style macros are not supported on some property pages of a C ++ / CLI project under VS2010?

We are currently evaluating VS2010 and have updated our project VS2008 C ++ / CLI in the new .vcxproj format. I noticed that a certain property that we set in the project settings did not receive the proper translation. In the section "Configuration Properties" → "Managed Resources" → "Logical Resource Name" we used (in VS2008) the parameter:

$(IntDir)\$(RootNamespace).$(InputName).resources

which indicated that all .resx files should have compiled into

OurLib.SomeForm.resources

inside the assembly. (part of the debugging is removed during assembly)

According to MSDN, the macro $ (InputName) no longer exists and should be replaced with% (Filename). However, when translating the above line to replace these macros, it seems to never expand. The second .resx file that he is trying to compile receives "LINK: fatal error LNK1316: duplicate managed resource name" Debug \ OurLib.% (Filename) .resources ". This indicates that style% macros are not expanding here, at least least in this particular property.

If we did not set anything in this property, the default behavior seems to add a subdirectory as a prefix, for example:

OurLib.Forms.SomeForm.resources

Forms , .resx. , .resx . .resx - (aka..\OtherLib\Forms\SomeForm2.resx), .

, , Forms Designer :

System::ComponentModel::ComponentResourceManager^  resources = (gcnew System::ComponentModel::ComponentResourceManager(SomeForm::typeid));

.resources .

, , , , , , . - % ?

+3

Source: https://habr.com/ru/post/1742281/


All Articles