Exemplo n.º 1
0
        internal string /*?*/ GetLocation()
        {
#if __MonoCS__
            IAssemblyCache assemblyCache = new MonoAssemblyCache();
#else
            IAssemblyCache assemblyCache;
            CreateAssemblyCache(out assemblyCache, 0);
            if (assemblyCache == null)
            {
                return(null);
            }
#endif
            ASSEMBLY_INFO assemblyInfo = new ASSEMBLY_INFO();
            assemblyInfo.cbAssemblyInfo = (uint)Marshal.SizeOf(typeof(ASSEMBLY_INFO));
            assemblyCache.QueryAssemblyInfo(ASSEMBLYINFO_FLAG.VALIDATE | ASSEMBLYINFO_FLAG.GETSIZE, this.StrongName, ref assemblyInfo);
            if (assemblyInfo.cbAssemblyInfo == 0)
            {
                return(null);
            }
            assemblyInfo.pszCurrentAssemblyPathBuf = new string(new char[assemblyInfo.cchBuf]);
            assemblyCache.QueryAssemblyInfo(ASSEMBLYINFO_FLAG.VALIDATE | ASSEMBLYINFO_FLAG.GETSIZE, this.StrongName, ref assemblyInfo);
            String value = assemblyInfo.pszCurrentAssemblyPathBuf;
            return(value);
        }
    internal string/*?*/ GetLocation() {
#if __MonoCS__
      IAssemblyCache assemblyCache = new MonoAssemblyCache();
#else
      IAssemblyCache assemblyCache;
      CreateAssemblyCache(out assemblyCache, 0);
      if (assemblyCache == null) return null;
#endif
      ASSEMBLY_INFO assemblyInfo = new ASSEMBLY_INFO();
      assemblyInfo.cbAssemblyInfo = (uint)Marshal.SizeOf(typeof(ASSEMBLY_INFO));
      assemblyCache.QueryAssemblyInfo(ASSEMBLYINFO_FLAG.VALIDATE | ASSEMBLYINFO_FLAG.GETSIZE, this.StrongName, ref assemblyInfo);
      if (assemblyInfo.cbAssemblyInfo == 0) return null;
      assemblyInfo.pszCurrentAssemblyPathBuf = new string(new char[assemblyInfo.cchBuf]);
      assemblyCache.QueryAssemblyInfo(ASSEMBLYINFO_FLAG.VALIDATE | ASSEMBLYINFO_FLAG.GETSIZE, this.StrongName, ref assemblyInfo);
      String value = assemblyInfo.pszCurrentAssemblyPathBuf;
      return value;
    }