Azure Data Factory Assembly Auto-generated header code - .net-assembly

I've the code in a proyect visual studio (.sln) but i not see the code assembly, i see only U-SQL code
The question is, how did generate this assemly?,
because i deleted it and the compilater the function not found
// Auto-generated header code
CREATE ASSEMBLY [__codeBehind_nfnmcapn.2b0] FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C0103004742565B0000000000000000E00002210B010B000030000000060000000000001E4E000000200000006000000000001000200000000200000400000000000000040000000000000000A000000002000000000000030040850000100000100000000010000010000000000000100000000000000000000000C44D00005700000000600000E802000000000000000000000000000000000000008000000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E74657874000000242E0000002000000030000000020000000000000000000000000000200000602E72737263000000E8020000006000000004000000320000000000000000000000000000400000402E72656C6F6300000C0000000080000000020000003600000000000000000000000000004000004200000000000000000000000000000000004E0000000000004800000002000500BC3B00000812000001000000000000006825000053160000000000000000000000000000000000000000000000000000000000000000000000000000000000007202280400000A02037D0100000402047D0200000402057D030000042A1E02280500000A2A5A026F0700000AD010000001280800000A280900000A2A620F01280A00000A027B050000046F0B00000A280C00000A2A000000133002004F00000001000011281500000A027B080000043315027B070000041FFE330B02167D07000004020A2B1316730D0000060A06027B090000047D0900000406027B0B0000047D0A00000406027B0D0000047D0C000004062A1E0228060000062A001B3005001C03000002000011027B0700000413071107162E0D11071B3BDB02000038F302000002157D0700000402027B0C0000046F1600000A7E040000042D1114FE0603000006731700000A80040000047E04000004280100002B7D0E000004027B0E0000042C2B7201000070027B0E0000046F0B00000A027B0E0000046F0700000A6F1900000A281A00000A731B00000A7A02731C00000A7D0F0000040272630000707D10000004027B0A0000046F1D00000A731E00000A0A02066F1F00000A6F2000000A7D10000004DE0A062C06066F1200000ADC027B1000000472650000706F2100000A2C5202027B1000000472650000706F2200000A027B100000046F2200000A72650000706F2200000A5972790000706F2200000A596F2300000A7D10000004027281000070027B10000004282400000A7D10000004027B0F000004027B100000046F2500000A02027B0F0000046F2600000A732700000A7D11000004027B090000047B030000042C4C027B090000047B030000046F2800000A13082B2111086F2900000A0B027B110000041201282A00000A1201280A00000A6F2B00000A11086F0F00000A2DD6DE0C11082C0711086F1200000ADC02027B0F0000046F2C00000A027B090000047B01000004027B110000046F2D00000A6F2E00000A7D1300000402197D07000004381001000002027B130000046F1300000A74180000017D12000004027B0C0000046F1600000A6F2F00000A1309389500000014130473040000061305110511096F3000000A7D05000004027B090000047B0200000411042D0F1105FE0605000006733100000A13041104280200002B0C027B120000041202282A00000A252D0D2611057B050000046F0B00000A027B110000046F3200000A0D027B0C0000041202280A00000A252D0D2611057B050000046F0B00000A092C08096F3300000A2B01146F0300002B11096F0F00000A3A5FFFFFFFDE0C11092C0711096F1200000ADC027B0C0000046F3500000A283600000A02027B0C0000046F3700000A7D06000004021B7D07000004171306DE2902197D07000004027B130000046F0F00000A3AE0FEFFFF02280E000006161306DE0702280B000006DC11062A4164000002000000AE00000013000000C10000000A0000000000000002000000750100002E000000A30100000C00000000000000020000000F020000A8000000B70200000C000000000000000400000000000000120300001203000007000000000000001E027B060000042A1A733800000A7A001B3002002800000003000011027B070000041306110619594503000000010000000A000000010000002ADE0702280E000006DC2A0110000002001E0002200007000000001E027B060000042A6602280500000A02037D0700000402281500000A7D080000042AB202157D0700000402027B1300000475150000017D14000004027B140000042C0B027B140000046F1200000A2A00133002001F000000010000111FFE730D0000060A06027D0900000406037D0B00000406047D0D000004062A0019140000EFBBBF7573696E67204D6963726F736F66742E416E616C79746963732E496E74657266616365733B0D0A7573696E67204D6963726F736F66742E416E616C79746963732E54797065732E53716C3B0D0A7573696E672053797374656D3B0D0A7573696E672053797374656D2E436F6C6C656374696F6E732E47656E657269633B0D0A7573696E672053797374656D2E494F3B0D0A7573696E672053797374656D2E4C696E713B0D0A7573696E672053797374656D2E546578743B0D0A7573696E672053797374656D2E586D6C3B0D0A0D0A6E616D657370616365205472616E73666F726D5553514C41707054657374320D0A7B0D0A202020205B53716C55736572446566696E6564457874726163746F722841746F6D696346696C6550726F63657373696E67203D2074727565295D0D0A202020207075626C696320636C617373204D79586D6C446F6D457874726163746F72203A2049457874726163746F720D0A202020207B0D0A20202020202020202F2F2F203C73756D6D6172793E50617468206F662074686520584D4C20656C656D656E7473207468617420636F6E7461696E20636F6C756D6E732E3C2F73756D6D6172793E0D0A20202020202020207072697661746520737472696E6720726F77506174683B0D0A0D0A20202020202020202F2F2F203C73756D6D6172793E466F72206561636820636F6C756D6E2C206D61702066726F6D2074686520584D4C207061746820746F2074686520636F6C756D6E206E616D653C2F73756D6D6172793E0D0A2020202020202020707269766174652053716C4D61703C737472696E672C20737472696E673E20636F6C756D6E50617468733B0D0A0D0A20202020202020202F2F2F203C73756D6D6172793E4D6170206E616D65737061636520707265666978657320746F206E616D65737061636520555249733C2F73756D6D6172793E0D0A20202020202020202F2F2F203C72656D61726B733E496620796F75206861766520612064656661756C74206E616D6573706163652028776974686F7574207072656669782920696E20796F757220584D4C20646F63756D656E742C200D0A20202020202020202F2F2F2070726F7669646520612070726566697820696E20746865206D617020666F722074686174206E616D6573706163652055524920616E642075736520746861742070726566697820696E20746865200D0A20202020202020202F2F2F2058506174682065787072657373696F6E20746F2073656C65637420746865206E6F64657320746861742061726520696E207468652064656661756C74206E616D6573706163652E3C2F72656D61726B733E0D0A2020202020202020707269766174652053716C4D61703C737472696E672C20737472696E673E206E616D6573706163654465636C733B0D0A0D0A20202020202020202F2F2F203C73756D6D6172793E4E657720696E7374616E6365732061726520636F6E7374727563746564206174206C65617374206F6E636520706572207665727465783C2F73756D6D6172793E0D0A20202020202020202F2F2F203C706172616D206E616D653D22726F7750617468223E50617468206F662074686520584D4C20656C656D656E74207468617420636F6E7461696E7320726F77732E3C2F706172616D3E0D0A20202020202020202F2F2F203C706172616D206E616D653D22636F6C756D6E5061746873223E466F72206561636820636F6C756D6E2C206D61702066726F6D2074686520584D4C207061746820746F2074686520636F6C756D6E206E616D652E200D0A20202020202020202F2F2F204974206973207370656369666965642072656C617469766520746F2074686520726F7720656C656D656E742E3C2F706172616D3E0D0A20202020202020202F2F2F203C706172616D206E616D653D226E616D6573706163654465636C73223E466F722065616368206E616D6573706163652055524920696E2074686520646F63756D656E74207468617420796F752077616E7420746F2071756572792C206D6170207468652070726566697820746F20746865206E616D657370616365205552492E200D0A20202020202020202F2F2F20496620796F75206861766520612064656661756C74206E616D6573706163652028776974686F7574207072656669782920696E20796F757220584D4C20646F63756D656E742C200D0A20202020202020202F2F2F2070726F7669646520612070726566697820696E20746865206D617020666F722074686174206E616D6573706163652055524920616E642075736520746861742070726566697820696E20746865200D0A20202020202020202F2F2F2058506174682065787072657373696F6E20746F2073656C65637420746865206E6F64657320746861742061726520696E207468652064656661756C74206E616D6573706163652E200D0A20202020202020202F2F2F204966207468657265206973206E6F206E616D6573706163652055524920696E2074686520646F63756D656E742C20746865206D61702063616E206265206C656674206E756C6C2E3C2F706172616D3E0D0A20202020202020202F2F2F203C72656D61726B733E446F206E6F742072656C79206F6E20737461746963206669656C647320626563617573652074686569722076616C7565732077696C6C206E6F742063726F73732076657274696365732E3C2F72656D61726B733E0D0A20202020202020207075626C6963204D79586D6C446F6D457874726163746F7228737472696E6720726F77506174682C2053716C4D61703C737472696E672C20737472696E673E20636F6C756D6E50617468732C2053716C4D61703C737472696E672C20737472696E673E206E616D6573706163654465636C73203D206E756C6C290D0A20202020202020207B0D0A202020202020202020202020746869732E726F7750617468203D20726F77506174683B0D0A202020202020202020202020746869732E636F6C756D6E5061746873203D20636F6C756D6E50617468733B0D0A202020202020202020202020746869732E6E616D6573706163654465636C73203D206E616D6573706163654465636C733B0D0A0D0A20202020202020207D0D0A0D0A20202020202020202F2F2F203C73756D6D6172793E457874726163742069732063616C6C6564206174206C65617374206F6E636520706572207665727465783C2F73756D6D6172793E0D0A20202020202020202F2F2F203C706172616D206E616D653D22696E707574223E5772617070657220666F7220612053747265616D3C2F706172616D3E0D0A20202020202020202F2F2F203C706172616D206E616D653D226F7574707574223E49557064617461626C65526F7720757365732061206D757461626C65206275696C646572207061747465726E202D2D200D0A20202020202020202F2F2F2073657420696E646976696475616C206669656C647320776974682049557064617461626C65526F772E5365742C207468656E206275696C6420616E20696D6D757461626C652049526F772062790D0A20202020202020202F2F2F2063616C6C696E672049557064617461626C65526F772E4173526561644F6E6C792E3C2F706172616D3E0D0A20202020202020202F2F2F203C72657475726E733E412073657175656E6365206F662049526F77732E3C2F72657475726E733E0D0A20202020202020207075626C6963206F766572726964652049456E756D657261626C653C49526F773E20457874726163742849556E7374727563747572656452656164657220696E7075742C2049557064617461626C65526F77206F7574707574290D0A20202020202020207B0D0A2020202020202020202020202F2F204D616B652073757265207468617420616C6C2072657175657374656420636F6C756D6E7320617265206F66207479706520737472696E670D0A20202020202020202020202049436F6C756D6E20636F6C756D6E203D206F75747075742E536368656D612E46697273744F7244656661756C7428636F6C203D3E20636F6C2E5479706520213D20747970656F6628737472696E6729293B0D0A20202020202020202020202069662028636F6C756D6E20213D206E756C6C290D0A2020202020202020202020207B0D0A202020202020202020202020202020207468726F77206E657720417267756D656E74457863657074696F6E28737472696E672E466F726D61742822436F6C756D6E20277B307D27206D757374206265206F6620747970652027737472696E67272C206E6F7420277B317D27222C20636F6C756D6E2E4E616D652C20636F6C756D6E2E547970652E4E616D6529293B0D0A2020202020202020202020207D0D0A0D0A202020202020202020202020586D6C446F63756D656E7420786D6C446F63756D656E74203D206E657720586D6C446F63756D656E7428293B0D0A202020202020202020202020737472696E67205F786D6C203D2022223B0D0A2020202020202020202020207573696E67202853797374656D2E494F2E53747265616D52656164657220726561646572203D206E65772053797374656D2E494F2E53747265616D52656164657228696E7075742E4261736553747265616D29290D0A2020202020202020202020207B0D0A202020202020202020202020202020205F786D6C203D207265616465722E52656164546F456E6428292E5472696D28293B0D0A2020202020202020202020207D0D0A202020202020202020202020696620285F786D6C2E5374617274735769746828223C215B43444154415B2229290D0A2020202020202020202020207B0D0A202020202020202020202020202020205F786D6C203D205F786D6C2E537562737472696E6728223C215B43444154415B222E4C656E6774682C205F786D6C2E4C656E677468202D20223C215B43444154415B222E4C656E677468202D20225D5D3E222E4C656E677468293B0D0A202020202020202020202020202020205F786D6C203D20223C3F786D6C2076657273696F6E3D5C22312E305C2220656E636F64696E673D5C2249534F2D383835392D315C223F3E22202B205F786D6C3B0D0A2020202020202020202020207D0D0A202020202020202020202020786D6C446F63756D656E742E4C6F6164586D6C285F786D6C293B0D0A2020202020202020202020200D0A202020202020202020202020586D6C4E616D6573706163654D616E61676572206E736D616E61676572203D206E657720586D6C4E616D6573706163654D616E6167657228786D6C446F63756D656E742E4E616D655461626C65293B0D0A0D0A2020202020202020202020202F2F204966206E616D657370616365206465636C61726174696F6E732068617665206265656E2070726F76696465642C20616464207468656D20746F20746865206E616D657370616365206D616E616765720D0A20202020202020202020202069662028746869732E6E616D6573706163654465636C7320213D206E756C6C290D0A2020202020202020202020207B0D0A20202020202020202020202020202020666F72656163682028766172206E616D6573706163654465636C20696E20746869732E6E616D6573706163654465636C73290D0A202020202020202020202020202020207B0D0A20202020202020202020202020202020202020206E736D616E616765722E4164644E616D657370616365286E616D6573706163654465636C2E4B65792C206E616D6573706163654465636C2E56616C7565293B0D0A202020202020202020202020202020207D0D0A2020202020202020202020207D0D0A0D0A202020202020202020202020666F72656163682028586D6C4E6F646520786D6C4E6F646520696E20786D6C446F63756D656E742E446F63756D656E74456C656D656E742E53656C6563744E6F64657328746869732E726F77506174682C206E736D616E6167657229290D0A2020202020202020202020207B0D0A202020202020202020202020202020202F2F2049557064617461626C65526F7720696D706C656D656E74732061206275696C646572207061747465726E20746F2073617665206D656D6F727920616C6C6F636174696F6E732C200D0A202020202020202020202020202020202F2F20736F2063616C6C206F75747075742E53657420696E2061206C6F6F700D0A20202020202020202020202020202020666F7265616368202849436F6C756D6E20636F6C20696E206F75747075742E536368656D61290D0A202020202020202020202020202020207B0D0A2020202020202020202020202020202020202020766172206578706C69636974436F6C756D6E4D617070696E67203D20746869732E636F6C756D6E50617468732E46697273744F7244656661756C7428636F6C756D6E50617468203D3E20636F6C756D6E506174682E56616C7565203D3D20636F6C2E4E616D65293B0D0A2020202020202020202020202020202020202020586D6C4E6F646520786D6C203D20786D6C4E6F64652E53656C65637453696E676C654E6F6465286578706C69636974436F6C756D6E4D617070696E672E4B6579203F3F20636F6C2E4E616D652C206E736D616E61676572293B0D0A20202020202020202020202020202020202020206F75747075742E536574286578706C69636974436F6C756D6E4D617070696E672E56616C7565203F3F20636F6C2E4E616D652C20786D6C203D3D206E756C6C203F206E756C6C203A20786D6C2E496E6E6572586D6C293B0D0A202020202020202020202020202020207D0D0A20202020202020202020202020202020436F6E736F6C652E57726974654C696E65286F75747075742E546F537472696E672829293B0D0A202020202020202020202020202020202F2F207468656E2063616C6C206F75747075742E4173526561644F6E6C7920746F206275696C6420616E20696D6D757461626C652049526F772E0D0A202020202020202020202020202020207969656C642072657475726E206F75747075742E4173526561644F6E6C7928293B0D0A2020202020202020202020207D0D0A20202020202020207D0D0A202020207D0D0A7D0D0A0000002F0200003C3F786D6C2076657273696F6E3D22312E30223F3E0D0A3C41727261794F66537472696E6720786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61223E0D0A20203C737472696E673E53797374656D2E646C6C3C2F737472696E673E0D0A20203C737472696E673E53797374656D2E436F72652E646C6C3C2F737472696E673E0D0A20203C737472696E673E53797374656D2E446174612E646C6C3C2F737472696E673E0D0A20203C737472696E673E4D6963726F736F66742E416E616C79746963732E446961676E6F73746963732E646C6C3C2F737472696E673E0D0A20203C737472696E673E4D6963726F736F66742E416E616C79746963732E496E74657266616365732E646C6C3C2F737472696E673E0D0A20203C737472696E673E4D6963726F736F66742E416E616C79746963732E54797065732E646C6C3C2F737472696E673E0D0A20203C737472696E673E4D6963726F736F66742E416E616C79746963732E496E74657266616365732E53747265616D696E672E646C6C3C2F737472696E673E0D0A20203C737472696E673E4E6577746F6E736F66742E4A736F6E2E646C6C3C2F737472696E673E0D0A20203C737472696E673E53797374656D2E586D6C2E646C6C3C2F737472696E673E0D0A3C2F41727261794F66537472696E673E0042534A4201000100000000000C00000076342E302E33303331390000000005006C000000BC050000237E0000280600007C08000023537472696E677300000000A40E0000DC00000023555300800F0000100000002347554944000000900F00007802000023426C6F620000000000000002000001571FA20B090B000000FA253300160000010000002600000004000000140000000E000000080000000500000038000000010000000D000000030000000100000002000000020000000700000008000000010000000500000002000000020000000300000000000A0001000000000006006F0050000A00BA009C000E000801ED0006001601500006001B01500006002F0150000E00720152010E00920152010600CA0150000E000502FE0106000C0250000E001802ED000E004E02FE010E007C0252010E009702FE010E00A502FE010E00AC02FE010E001E030B030E002A03ED000E0038030B030E004403FE0112003105260512005A05260512007E0526050E00460633060E005E06FE010600850650001600B006A4060E00DC06CA060E00EE06FE010E000A0700070E00200700070E002D0700071200760726051200A60726051200C50726050E000808FE010E002508FE0100000000010000000000010001000100100028003A0005000100010003011000EB01000029000500040003011000FD02000029000600060001007A000A000100C3000D000100CF000D00110055027B000600140267000100EE03DC000100AD04EA000100B804EA000600F804F10006004501F50006000205F50006004B01F90006000D05F90006001905670006003D05FD0006004F050A0006006E05010106008605050106009405090106009F050D015020000000008618DE00150001003C2500000000C6003D012F00040075200000000091004002750006006D20000000008618DE00460007008C2000000000860027026B000700A82000000000E1015003C1000800032100000000E101B803D30008000C2100000000E101E503D8000800982400000000E109FB03E0000800A02400000000E1015F0446000800A82400000000E1018A0446000800EC2400000000E109CD04ED000800F424000000008618DE00410008000E25000000008100AA0546000900000001007A0000000200C30010100300CF00000001004501000002004B0100000100140200000100350200000100AD0404000A000400490004000E0004005100040055003900DE0041004100DE0046004900DE0046000900DE0046005100DE0046007100DE00460059009C0289007900BE028E007900D00295000C00DE02A4005900E802A9008100F102AD001400AA03CA009100AA03D300A100E503D8001C005304E500A10084044600A900A5044600A1005304ED00C900DE004600D1006A061A0131008D0623012400DE003001E100BB063601E900E802A9008100E7064E01F100DE005501B100DE004600290011075A010101DE005F0109013807A90081004207A900810047076501810052076A0181005D076E01810067077401B1006E075501B10083077A01B900DE0080012C00AA038E0134005304E5000C009107E500B9009907A801B100B107AE01C100D107B4012101AA03D300D900AA03BD013C005304E5004400DE003001C100DD07E201C100EE07A9003100FB07EA015100FF07A90029011008F60131001A08E0003101DE00460012000D003C002E000B0050022E001300590243001B004A00600033008400630033008400810033008400830033008400C000A3008400E000A30084002001A30084004001A30084008001A3008400A001A30084001E01FB012E02040001000000B805110100000C06160102000900030002000C00050004000C001B0004000E001D00040010001F000400120021000400140023000400160025000400180027009D00B300BA00280187019D01C601CD01048000000000000000000000000000000000B0010000010000000000000000000000010050000000000001000000000000000000000001008200000000000400000000000000000000002600E400000000000400000000000000000000002600260500000000040000000000000000000000260098060000000000000000010000003B0800002014000001000000580800000300020004000200310049013100D9016900F20100000000003C4D6F64756C653E005F5F636F6465426568696E645F6E666E6D6361706E2E3262302E646C6C004D79586D6C446F6D457874726163746F72005472616E73666F726D5553514C4170705465737432004D6963726F736F66742E416E616C79746963732E496E74657266616365730049457874726163746F7200726F7750617468004D6963726F736F66742E416E616C79746963732E5479706573004D6963726F736F66742E416E616C79746963732E54797065732E53716C0053716C4D6170603200636F6C756D6E5061746873006E616D6573706163654465636C73002E63746F72006D73636F726C69620053797374656D2E436F6C6C656374696F6E732E47656E657269630049456E756D657261626C6560310049526F770049556E737472756374757265645265616465720049557064617461626C65526F77004578747261637400696E707574006F75747075740053797374656D2E52756E74696D652E436F6D70696C6572536572766963657300436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C697479417474726962757465005F5F636F6465426568696E645F6E666E6D6361706E2E3262300053716C55736572446566696E6564457874726163746F72417474726962757465003C3E635F5F446973706C6179436C617373340053797374656D004F626A6563740049436F6C756D6E00636F6C004B657956616C7565506169726032003C457874726163743E625F5F3100636F6C756D6E50617468003C457874726163743E625F5F300046756E636032004353243C3E395F5F436163686564416E6F6E796D6F75734D6574686F6444656C65676174653200436F6D70696C657247656E6572617465644174747269627574650054797065006765745F5479706500537472696E670052756E74696D655479706548616E646C65004765745479706546726F6D48616E646C65006F705F496E657175616C697479006765745F56616C7565006765745F4E616D65006F705F457175616C697479003C457874726163743E645F5F360053797374656D2E436F6C6C656374696F6E730049456E756D657261626C650049456E756D657261746F7260310049456E756D657261746F720049446973706F7361626C650053797374656D2E436F6C6C656374696F6E732E47656E657269632E49456E756D657261626C653C4D6963726F736F66742E416E616C79746963732E496E74657266616365732E49526F773E2E476574456E756D657261746F7200476574456E756D657261746F720053797374656D2E436F6C6C656374696F6E732E49456E756D657261626C652E476574456E756D657261746F72004D6F76654E657874003C3E325F5F63757272656E740053797374656D2E436F6C6C656374696F6E732E47656E657269632E49456E756D657261746F723C4D6963726F736F66742E416E616C79746963732E496E74657266616365732E49526F773E2E6765745F43757272656E74006765745F43757272656E740053797374656D2E436F6C6C656374696F6E732E49456E756D657261746F722E52657365740052657365740053797374656D2E49446973706F7361626C652E446973706F736500446973706F7365003C3E315F5F7374617465003C3E6C5F5F696E697469616C54687265616449640053797374656D2E436F6C6C656374696F6E732E49456E756D657261746F722E6765745F43757272656E74003C3E345F5F74686973003C3E335F5F696E707574003C3E335F5F6F7574707574003C636F6C756D6E3E355F5F370053797374656D2E586D6C00586D6C446F63756D656E74003C786D6C446F63756D656E743E355F5F38003C5F786D6C3E355F5F3900586D6C4E616D6573706163654D616E61676572003C6E736D616E616765723E355F5F6100586D6C4E6F6465003C786D6C4E6F64653E355F5F62003C3E375F5F7772617063003C3E375F5F7772617064003C3E6D5F5F46696E616C6C79650053797374656D2E436F6C6C656374696F6E732E47656E657269632E49456E756D657261746F723C4D6963726F736F66742E416E616C79746963732E496E74657266616365732E49526F773E2E43757272656E740053797374656D2E436F6C6C656374696F6E732E49456E756D657261746F722E43757272656E740053797374656D2E446961676E6F737469637300446562756767657248696464656E41747472696275746500456E7669726F6E6D656E74006765745F43757272656E744D616E6167656454687265616449640049536368656D61006765745F536368656D610053797374656D2E436F72650053797374656D2E4C696E7100456E756D657261626C650046697273744F7244656661756C740053797374656D2E5265666C656374696F6E004D656D626572496E666F00466F726D617400417267756D656E74457863657074696F6E0053797374656D2E494F0053747265616D006765745F4261736553747265616D0053747265616D52656164657200546578745265616465720052656164546F456E64005472696D0053746172747357697468006765745F4C656E67746800537562737472696E6700436F6E636174004C6F6164586D6C00586D6C4E616D655461626C65006765745F4E616D655461626C65006765745F4B6579004164644E616D65737061636500586D6C456C656D656E74006765745F446F63756D656E74456C656D656E7400586D6C4E6F64654C6973740053656C6563744E6F6465730053656C65637453696E676C654E6F6465006765745F496E6E6572586D6C0053657400546F537472696E6700436F6E736F6C650057726974654C696E65004173526561644F6E6C79004E6F74537570706F72746564457863657074696F6E004F44424D535F50726563696F5F586D6C324373762E7573716C2E63730041444C546F6F6C5F436F6465626568696E645F5265666572656E6365732E786D6C000000006143006F006C0075006D006E00200027007B0030007D00270020006D0075007300740020006200650020006F006600200074007900700065002000270073007400720069006E00670027002C0020006E006F007400200027007B0031007D002700010100133C0021005B00430044004100540041005B0000075D005D003E0000573C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D002200490053004F002D0038003800350039002D00310022003F003E000100000044FE86F5F32F514B980E537729301A0A00089F877B68B06E0B5E02060E0706151209020E0E102003010E151209020E0E151209020E0E08B77A5C561934E0890C200215120D0112111215121904000000000420010108032000011C0100010054021441746F6D696346696C6550726F63657373696E67010306122D09200102151131020E0E05000102122D080615123502122D020401000000042000123D060001123D114507000202123D123D06151131020E0E04200013010320000E050002020E0E0615120D0112110615124D01121108200015124D01121108200015124D01130004200012510320000203061211042000121104200013000206080320001C030612080306121503061219030612590306125D03061261030612510306125504280012110328001C030000080407011210042000126D0715123502122D02052002011C18121001021E0015120D011E00151235021E0002040A01122D0600030E0E1C1C042001010E042000127D05200101127D042001020E032000080520020E08080500020E0E0E0520001280890620010112808906151209020E0E0E200015124D0115113102130013010A15124D01151131020E0E052002010E0E05200012808D0820021280910E125D08200015124D01122D0615124D01122D0B15123502151131020E0E02080A01151131020E0E07200212610E125D07300102010E1E00030A010E040001010E32070A128081151131020E0E151131020E0E126115123502151131020E0E02120C020815124D01151131020E0E15124D01122D210707128081151131020E0E151131020E0E126115123502151131020E0E02120C080801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F777301EC4D000000000000000000000E4E0000002000000000000000000000000000000000000000000000004E00000000000000000000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF25002000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000018000080000000000000000000000000000001000100000030000080000000000000000000000000000001000000000048000000586000008C02000000000000000000008C0234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004EC010000010053007400720069006E006700460069006C00650049006E0066006F000000C801000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E00300000005C001E00010049006E007400650072006E0061006C004E0061006D00650000005F005F0063006F006400650042006500680069006E0064005F006E0066006E006D006300610070006E002E003200620030002E0064006C006C0000002800020001004C006500670061006C0043006F00700079007200690067006800740000002000000064001E0001004F0072006900670069006E0061006C00460069006C0065006E0061006D00650000005F005F0063006F006400650042006500680069006E0064005F006E0066006E006D006300610070006E002E003200620030002E0064006C006C000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E00300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000C000000203E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
REFERENCE ASSEMBLY [__codeBehind_nfnmcapn.2b0];
// Auto-generated header code ended
// User script
CREATE ASSEMBLY IF NOT EXISTS [Newtonsoft.Json] FROM #"/bin/Newtonsoft.Json.dll";
CREATE ASSEMBLY IF NOT EXISTS [Microsoft.Analytics.Samples.Formats] FROM #"/bin/Microsoft.Analytics.Samples.Formats.dll";
// B. REFERENCE ASSEMBLY: Load assemblies for compile time and execution.
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
// FROM HERE MY CODE U-SQL

Related

Custom assemblies not being referenced in Views

If a custom c# assembly is used in a View, the compiler fails to find the reference to the namespace.
It works if the assembly is referenced and called within a query but not from a view.
For instance, consider this U-SQL script for creating a view:
The assemblies being used are registered in mylocaldb before running this query, and are available to be accessed in any script.
USE DATABASE mylocaldb;
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING Newtonsoft.Json;
USING Microsoft.Analytics.Samples.Formats.Json;
DROP VIEW IF EXISTS SearchAccountData;
CREATE VIEW MyView AS
EXTRACT
UserId string,
UserName string
FROM "Data/mydata.json"
USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor();
After the execution of the script, the view gets created and stored an under Views in the mylocaldb database.
Upon using the view in another query:
USE DATABASE mylocaldb;
USE SCHEMA dbo;
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING Newtonsoft.Json;
USING Microsoft.Analytics.Samples.Formats.Json;
#foo= SELECT * FROM MyView;
OUTPUT #foo
TO "/output/foo.csv"
USING Outputters.Csv();
(the USE SCHEMA dbo isn't necessary as the database defaults to that in case no other schema is being used):
the compiler throws an error:
E_CSC_USER_INVALIDCSHARP: C# error CS0234: The type or namespace name 'Samples' does not exist in the namespace 'Microsoft.Analytics' (are you missing an assembly reference?)
Now this might be conflicting with the library that comes with U-SQL: Microsoft.Analytics, but I have tried using another assembly with a different namespace, and I still have the same issue.
I am testing locally using the (Local) account in VisualStudio.
I decided to use a PROCEDURE.
In Views UDFs (User Defined Functions) or UDOs can't be used.
Views cannot:
Contain user-defined objects (such as UDFs or UDOs).
Will be inlined upon call.
This information can be found here on slide 27 at U-SQL - Azure Data Lake Analytics for Developers
It would be helpful if this was mentioned in U-SQL Language Reference docs for Views.
Unlike Views, procedures and table-valued functions have support for UDFs and can include Reference to assemblies:.
CREATE PROCEDURE ExtractTransactions(#data_stream string = #"Data/{*}")
AS BEGIN
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING Newtonsoft.Json;
USING Microsoft.Analytics.Samples.Formats.Json;
#transactions =
EXTRACT
UserId string,
UserName string
FROM #data_stream
USING new JsonExtractor();
INSERT INTO ExtractedTransactions
SELECT * FROM #transactions;
END;
And then simply call the procedure from another query:
ExtractTransactions(DEFAULT) (where DEFAULT is the default parameter).
Thanks Mike & sponturious. U-SQL Language Reference has been updated at CREATE VIEW (U-SQL) under the Query_Expression section at the official U-SQL Language Reference site
(Note: Would provide a link but the Gods keep deleting my responses when I do. Just do a search for "CREATE VIEW (U-SQL)".)

WPF Designer throws error when string resources are used in code behind

I have a wpf custom control (in AssemblyA) that references a string resource from an resx file in an external assembly (AssemblyB).
public override void OnApplyTemplate()
{
try
{
base.OnApplyTemplate();
// ...
// Do Stuff
// ...
}
catch (Exception ex)
{
Logger.Error(ExceptionCodes.Ex50000, ex);
}
}
When I add the custom control (in AssemblyA) via a dll reference to a page in another project (AssemblyC) in another solution, the control fails to display in the designer. Instead, the designer displays a nice big red cross with the message
FileNotFoundException: Could not load file or assembly 'AssemblyB'.
The AssemblyB was also added as a dll reference to AssemblyC.
Removing the the references to the string resource in AssemblyA removes the error and allows the control to display correctly in the designer. Unfortunately, this is not an option as the string resources are used throughout the application for support reasons.
Creating an resx file in AssemblyA also removes the error but decentralises the resources which is not an option for on going development.
Based on the above, the designer is obviously not loading the resource assembly. Any insights would be appreciated.
To Summarise
CustomControl in Assembly A in Solution 1 references a string resourced from a resx file in Assembly B in Solution 1. Assembly C in Solution 2 has a dll reference to both Assembly A and Assembly B. A UserControl in Assembly C uses CustomControl in Assembly A. The Visual Studio WPF designer throws a FileNotFound exception when displaying the UserControl.
Let it throw error, just check whether your are able to complie and run, the Make the assembly In Solution C as exe and try to run it. Because with Visual studio 10.0.4, i have see that exception many times, but if it is complied it doesn't give any compiler error, just try to compile and run it

Can`t Load C++/CLI DLL resources

I'm trying just to see resource names but nothing appears.
I've made and compiled a C++/CLI (Managed) DLL in Visual Studio 2010 and added some Resource files as a test (one icon and one bitmap). I've checked with PE Explorer and the resources definitely are there.
My simple code:
Assembly asm = Assembly.LoadFrom("C:\\test.dll");
String[] res = asm.GetManifestResourceNames();
I know that the DLL is loaded because when I debug i can see all the infos in the 'asm' variable. Also i can Import data (using MEF) from the DLL.
So, the DLL has the resources and the code IS loading the assembly for sure. But why my 'res' variable always returns empty string list?
EDIT:
I've created a C# Class Library (.dll) with a resource just for a test. Now it works!! But still in my C++/CLI DLL the resources do not appear. Somehow they are in the DLL but the code cant reach it (only in the C++ DLL). Maybe it would have something to do with managed/unmanaged code, but since i'm compiling it with CLR it does not seem to be the case. Any suggestions?
SOLUTION
I've got it! Just in case someone needs.
According to these topics:
Embedding resource in a C++/CLI project
and
http://bytes.com/topic/net/answers/571530-loading-markup-xamlreader-load-resource-file#post2240705
the problem is exactly the C++/CLI thing. You have to add it in Input item under Linker tab in Project Properties. Now it seems to work fine. Thanks
I have a similar problem and your question helps me to solve it.
my project platform is C++/CLI and my DLL platform is c#.
I want to pack DLL into my executive file, hence we should put DLL in the project resource file through below steps at first:
1.copy DLL in project path.
2.put DLL name(e.g. test.dll) in below place
properties->linker->input->Embeded Managed Resource File
then we should read and use embedded DLL:
Stream^ stream = Assembly::GetExecutingAssembly()->GetManifestResourceStream("test.dll");
array<unsigned char>^ dllRawBuffer = gcnew array<unsigned char>(stream->Length);
int res = stream->Read(dllRawBuffer, 0, stream->Length);
stream->Close();
Assembly^ dllAssembly = Assembly::Load(dllRawBuffer);
System::Type^ testclass = dllAssembly->GetType("TestNamespace.TestClass");
MethodInfo^ TestMethod = testclass->GetMethod("TestMethodName");
// Create an instance.
Object^ Testobj = Activator::CreateInstance(testclass);
// Execute the method.
array<Object^>^ params = gcnew array<Object^>(2);
params[0] = 2;
params[1] = 3;
Object^ result = TestMethod->Invoke(Testobj, params);
obviously, this solution only works for managed DLLs.

Using AppDomain.CreateInstanceAndUnwrap to create an instance of type T and then early binding to a method of type T

In the MSDN documentation for the AppDomain.CreateInstanceAndUnwrap method, it states as a note
If you make an early-bound call to a method M of an object of type T1 that was returned by CreateInstanceAndUnwrap, and that method makes an early-bound call to a method of an object of type T2 in an assembly C other than the current assembly or the assembly containing T1, assembly C is loaded into the current application domain. This loading occurs even if the early-bound call to T1.M() was made in the body of a DynamicMethod, or in other dynamically generated code. If the current domain is the default domain, assembly C cannot be unloaded until the process ends. If the current domain later attempts to load assembly C, the load might fail.
(http://msdn.microsoft.com/en-us/library/3c4f1xde.aspx)
Does anyone have a technical explanation for the above note? Why is this the case? Is Assembly dependency lookup done when a method is first called on the object?
Assembly dependency is call when you're creating instance of the object.
Let's analyze hypothetical scenario. We have 2 DLLs: Lib1 and Lib2. (Lib1 uses methods from Lib2).
In our application main method looks as below:
Worker localWorker = new Worker();
localWorker.PrintDomain();
AppDomain ad = AppDomain.CreateDomain("New domain");
Worker remoteWorker = (Worker)ad.CreateInstanceAndUnwrap("Lib1","Lib1.Worker");
remoteWorker.PrintDomain();
Assembly dependency is checking in line:
Worker remoteWorker = (Worker)ad.CreateInstanceAndUnwrap("Lib1","Lib1.Worker");
For example if the Lib2.dll doesn't exist we'll get an exception.

Can you force MonoTouch to include an unreferenced assembly in its static compilation?

I have a MonoTouch app that dynamically instantiates a class (using Type.GetType()) at runtime. The class is in an assembly that is not referenced anywhere else in the app, so the MonoTouch static compiler thinks that the assembly isn't used and ignores the assembly when it compiles the app. If I add a reference to the class in the app, then the compiler includes the assembly and the call to Type.GetType() works fine:
MyAssembly a;
I would prefer to just tell the compiler to always include all the assemblies listed in the project's "References" when it compiles the app. Is this possible?
Thanks,
-Tom B.
You will have to change your project's Linker behavior from "Link all assemblies" to "Link SDK assemblies only".
The other solution, if you have the project code that assembly was created with, is to mark the class you want to use with the PreserveAttribute.
Were you able to figure this out yet? If not, I had a similar problem: Is there a way to force MonoDevelop to build/load an assembly?
As I understand it, that's just how the C# compiler works. I was able to get around this by adding a custom pre-build step that scripts a class into the referencing assembly that includes dummy references to the unreferenced assemblies, like so:
using System;
namespace MyNamespace
{
public static class Referencer
{
Type t;
//These lines are scripted one per class in the unreferenced assemblies
//You should only need one per assembly, but I don't think more hurts.
t = typeof(Namespace1.Class1);
t = typeof(Namespace2.Class2);
...
t = typeof(NamespaceN.ClassN);
}
}

Resources