Ejemplo n.º 1
0
        private static bool IsSilverlightMscorlib(IProjectToAssemblyReference reference)
        {
            var assemblyNameInfo    = reference.ReferenceTarget.AssemblyName;
            var publicKeyTokenBytes = assemblyNameInfo.GetPublicKeyToken();

            if (publicKeyTokenBytes == null)
            {
                return(false);
            }

            // Not sure if this is the best way to do this, but the public key token for mscorlib on
            // the desktop if "b77a5c561934e089". On Silverlight, it's "7cec85d7bea7798e"
            var publicKeyToken = AssemblyNameExtensions.GetPublicKeyTokenString(publicKeyTokenBytes);

            return(assemblyNameInfo.Name == "mscorlib" && publicKeyToken == SilverlightMscorlibPublicKeyToken);
        }
Ejemplo n.º 2
0
        private Dictionary <string, string> BuildReplacementParameters()
        {
            Dictionary <string, string> param = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);

            if (!String.IsNullOrEmpty(Config.Current.ProjectAssemblyPath))
            {
                if (File.Exists(Config.Current.ProjectAssemblyPath))
                {
                    try
                    {
                        AssemblyName assemblyName = AssemblyName.GetAssemblyName(Config.Current.ProjectAssembly);

                        param.Add("$SharePoint.Project.AssemblyFullName$", assemblyName.FullName);
                        param.Add("$SharePoint.Project.AssemblyFileName$", assemblyName.Name);
                        param.Add("$SharePoint.Project.AssemblyFileNameWithoutExtension$", Path.GetFileNameWithoutExtension(assemblyName.Name));
                        param.Add("$SharePoint.Project.AssemblyPublicKey$", AssemblyNameExtensions.GetPublicKey(assemblyName));

                        string keyToken = AssemblyNameExtensions.GetPublicKeyToken(assemblyName);
                        param.Add("$SharePoint.Project.AssemblyPublicKeyToken$", keyToken);
                        param.Add("$SharePoint.Project.AssemblyVersion$", AssemblyNameExtensions.GetVersion(assemblyName));
                        param.Add("$SharePoint.Project.AssemblyCulture$", AssemblyNameExtensions.GetCulture(assemblyName));

                        if (string.IsNullOrEmpty(keyToken))
                        {
                            Log.Warning("It seems that the defined Project Assembly is not strong named. Its recommended to strong name the assembly!");
                        }
                    }
                    catch
                    {
                        Log.Error("The defined Project Assembly seems not to be a valid assembly!");
                    }
                }
                else
                {
                    Log.Error("Can not find the defined Project Assembly : " + Config.Current.ProjectAssemblyPath);
                }
            }

            param.Add("$SharePoint.Package.Name$", Config.Current.WSPName);
            param.Add("$SharePoint.Package.FileName$", Config.Current.WSPName);
            param.Add("$SharePoint.Package.FileNameWithoutExtension$", Path.GetFileNameWithoutExtension(Config.Current.WSPName));
            param.Add("$SharePoint.Package.Id$", Config.Current.SolutionId.ToString());



            return(param);
        }