Benutzer:MovGP0/C♯/Assemblies
< Benutzer:MovGP0 | C♯
MovGP0 | Über mich | Hilfen | Artikel | Weblinks | Literatur | Zitate | Notizen | Programmierung | MSCert | Physik |
|
Assembly Management
[Bearbeiten | Quelltext bearbeiten]Assembly Signature
[Bearbeiten | Quelltext bearbeiten]- Sign Assembly
- Generate Key for Assembly
sn -k myKey.snk
- Project Settings → Signing → Sign the Assembly → select *.snk file
- Get key from Assembly
sn -Tp "$env:windir\Microsoft.NET\Framework\v4.0.30319\System.Data.dll"
Achtung: Für veröffentlichte Anwendungen wird ein Authenticode[1] benötigt.
Global Assembly Cache (GAC)
[Bearbeiten | Quelltext bearbeiten]- List Assemblies
gacutil -l
- Install Assembly
gacutil -l C:\myassembly.dll
- Uninstall Assembly
gacutil -u "myassembly.dll"
Assembly Redirect
[Bearbeiten | Quelltext bearbeiten]<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly" publicKeyToken="32ab4ba45e0a69a1" culture="en-us" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Additional Assembly Locations
[Bearbeiten | Quelltext bearbeiten]<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<codeBase version="1.0.0.0" href="http://www.mydomain.com/ReferenceAssembly.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
WinRT (Windows Runtime)
[Bearbeiten | Quelltext bearbeiten]- Laufzeitumgebung für Apps unter Windows 8 und Windows RT
- generiert Windows Metadata Datei (*.winmd) statt .NET DLLs
- WinMD enthalten nativen Code und Metadaten
- Metadaten werden bei Installation in
$env:systemroot\System32\WinMetadata\
gespeichert. Der Code verbleibt in der Anwendung.
Projekttyp | Verwendung |
---|---|
Windows Runtime Component | JavaScript und C# |
Class Library (Windows Store apps) | nur C# |
Einschränkungen
[Bearbeiten | Quelltext bearbeiten]- Öffentliche Rückgabewerte müssen WinRT Datentypen sein
- Einschränkungen bei
public class
- keine Generics
- nur WinRT-Interfaces erlaubt
- keine Unterklasse von Nicht-WinRT-Klasse
- müssen als
sealed
gekennzeichnet sein
- Einschränkungen bei
public struct
:- alle Member public
- alle Member sind entweder ein value type oder
string
- Namespace muss gleich sein wie der Name der Assembly; darf nicht mit „Windows“ beginnen
Assembly Information
[Bearbeiten | Quelltext bearbeiten]> [reflection.assemblyname]::GetAssemblyName("${pwd}\Microsoft.GLEE.dll") | fl
Name : Microsoft.GLEE
Version : 1.0.0.0
CultureInfo :
CodeBase : file:///C:/projects/powershell/BuildAnalyzer/...
EscapedCodeBase : file:///C:/projects/powershell/BuildAnalyzer/...
ProcessorArchitecture : MSIL
Flags : PublicKey
HashAlgorithm : SHA1
VersionCompatibility : SameMachine
KeyPair :
FullName : Microsoft.GLEE, Version=1.0.0.0, Culture=neut...
The element ProcessorArchitecture[2] identifies the target processor.
Referenzen
[Bearbeiten | Quelltext bearbeiten]- ↑ Authenticode. In: MSDN. Microsoft, abgerufen am 28. Mai 2014.
- ↑ ProcessorArchitecture Enumeration. In: MSDN. Microsoft, abgerufen am 18. Juni 2013 (englisch).
Quellen
[Bearbeiten | Quelltext bearbeiten]- .NET Foundations - .NET assembly structure. Abgerufen am 28. Mai 2014 (englisch).
- Build, Deployment, and Configuration Tools (.NET Framework). In: MSDN. Microsoft, abgerufen am 28. Mai 2014 (englisch, .NET Tools – IL Diasassembler, Native Compiler, Resource Editor, etc.).
Siehe auch
[Bearbeiten | Quelltext bearbeiten]|}