本文整理汇总了C#中MonoDevelop.Projects.DotNetProject.AddFile方法的典型用法代码示例。如果您正苦于以下问题:C# DotNetProject.AddFile方法的具体用法?C# DotNetProject.AddFile怎么用?C# DotNetProject.AddFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Projects.DotNetProject
的用法示例。
在下文中一共展示了DotNetProject.AddFile方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateDescriptionFiles
protected override string GenerateDescriptionFiles (DotNetProject project, FilePath basePath)
{
if (!project.Items.GetAll<WebReferencesDir> ().Any ()) {
WebReferencesDir met = new WebReferencesDir ();
met.Path = basePath.ParentDirectory;
project.Items.Add (met);
}
WebReferenceUrl wru = project.Items.GetAll<WebReferenceUrl> ().FirstOrDefault (m => m.RelPath.CanonicalPath == basePath);
if (wru == null) {
wru = new WebReferenceUrl (protocol.Url);
wru.RelPath = basePath;
project.Items.Add (wru);
}
protocol.ResolveAll ();
DiscoveryClientResultCollection files = protocol.WriteAll (basePath, "Reference.map");
foreach (DiscoveryClientResult dr in files)
project.AddFile (new FilePath (dr.Filename).ToAbsolute (basePath), BuildAction.None);
return Path.Combine (basePath, "Reference.map");
}
示例2: AddController
public static void AddController (DotNetProject project, string path, string name)
{
var provider = project.LanguageBinding.GetCodeDomProvider ();
if (provider == null)
throw new InvalidOperationException ("Project language has null CodeDOM provider");
string outputFile = null;
MvcTextTemplateHost host = null;
AddControllerDialog dialog = null;
try {
dialog = new AddControllerDialog (project);
if (!String.IsNullOrEmpty (name))
dialog.ControllerName = name;
bool fileGood = false;
while (!fileGood) {
var resp = (Gtk.ResponseType) MessageService.RunCustomDialog (dialog);
dialog.Hide ();
if (resp != Gtk.ResponseType.Ok || !dialog.IsValid ())
return;
outputFile = System.IO.Path.Combine (path, dialog.ControllerName) + ".cs";
if (System.IO.File.Exists (outputFile)) {
fileGood = MessageService.AskQuestion ("Overwrite file?",
String.Format ("The file '{0}' already exists.\n", dialog.ControllerName) +
"Would you like to overwrite it?", AlertButton.OverwriteFile, AlertButton.Cancel)
!= AlertButton.Cancel;
} else
break;
}
host = new MvcTextTemplateHost {
LanguageExtension = provider.FileExtension,
ItemName = dialog.ControllerName,
NameSpace = project.DefaultNamespace + ".Controllers"
};
host.ProcessTemplate (dialog.TemplateFile, outputFile);
MonoDevelop.TextTemplating.TextTemplatingService.ShowTemplateHostErrors (host.Errors);
} finally {
if (host != null)
host.Dispose ();
if (dialog != null) {
dialog.Destroy ();
dialog.Dispose ();
}
}
if (System.IO.File.Exists (outputFile)) {
project.AddFile (outputFile);
IdeApp.ProjectOperations.SaveAsync (project);
}
}
示例3: GenerateDescriptionFiles
protected override string GenerateDescriptionFiles (DotNetProject dotNetProject, FilePath basePath)
{
if (!dotNetProject.Items.GetAll<WCFMetadata> ().Any ()) {
var met = new WCFMetadata ();
met.Path = basePath.ParentDirectory;
dotNetProject.Items.Add (met);
}
WCFMetadataStorage metStor = dotNetProject.Items.GetAll<WCFMetadataStorage> ().FirstOrDefault (m => m.Path.CanonicalPath == basePath);
if (metStor == null)
dotNetProject.Items.Add (new WCFMetadataStorage { Path = basePath });
string file = Path.Combine (basePath, "Reference.svcmap");
if (protocol != null) {
protocol.ResolveAll ();
protocol.WriteAll (basePath, "Reference.svcmap");
refGroup = ConvertMapFile (file);
} else {
// TODO
var map = new ReferenceGroup ();
map.ClientOptions = defaultOptions;
map.Save (file);
map.ID = Guid.NewGuid ().ToString ();
refGroup = map;
}
foreach (MetadataFile mfile in refGroup.Metadata)
dotNetProject.AddFile (new FilePath (mfile.FileName).ToAbsolute (basePath), BuildAction.None);
return file;
}
示例4: AddView
public static void AddView (DotNetProject project, string path, string name)
{
var provider = project.LanguageBinding.GetCodeDomProvider ();
if (provider == null)
throw new InvalidOperationException ("Project language has null CodeDOM provider");
string outputFile = null;
MvcTextTemplateHost host = null;
AddViewDialog dialog = null;
try {
dialog = new AddViewDialog (project);
dialog.ViewName = name;
bool fileGood = false;
while (!fileGood) {
var resp = (Gtk.ResponseType) MessageService.RunCustomDialog (dialog);
dialog.Hide ();
if (resp != Gtk.ResponseType.Ok || ! dialog.IsValid ())
return;
string ext = ".cshtml";
if (dialog.ActiveViewEngine == "Aspx")
ext = dialog.IsPartialView ? ".ascx" : ".aspx";
if (!System.IO.Directory.Exists (path))
System.IO.Directory.CreateDirectory (path);
outputFile = System.IO.Path.Combine (path, dialog.ViewName) + ext;
if (System.IO.File.Exists (outputFile)) {
fileGood = MessageService.AskQuestion (GettextCatalog.GetString ("Overwrite file?"),
GettextCatalog.GetString ("The file '{0}' already exists.\n", dialog.ViewName) +
GettextCatalog.GetString ("Would you like to overwrite it?"), AlertButton.OverwriteFile, AlertButton.Cancel)
!= AlertButton.Cancel;
} else
break;
}
host = new MvcTextTemplateHost {
LanguageExtension = provider.FileExtension,
ItemName = dialog.ViewName,
ViewDataTypeString = ""
};
if (dialog.HasMaster) {
host.IsViewContentPage = true;
host.ContentPlaceholder = dialog.PrimaryPlaceHolder;
host.MasterPage = dialog.MasterFile;
host.ContentPlaceHolders = dialog.ContentPlaceHolders;
}
else if (dialog.IsPartialView)
host.IsViewUserControl = true;
else
host.IsViewPage = true;
if (dialog.IsStronglyTyped)
host.ViewDataTypeString = dialog.ViewDataTypeString;
host.ProcessTemplate (dialog.TemplateFile, outputFile);
MonoDevelop.TextTemplating.TextTemplatingService.ShowTemplateHostErrors (host.Errors);
} finally {
if (host != null)
host.Dispose ();
if (dialog != null) {
dialog.Destroy ();
dialog.Dispose ();
}
}
if (System.IO.File.Exists (outputFile)) {
project.AddFile (outputFile);
IdeApp.ProjectOperations.SaveAsync (project);
}
}
示例5: GenerateDescriptionFiles
protected override async Task<string> GenerateDescriptionFiles (DotNetProject dotNetProject, FilePath basePath)
{
if (!dotNetProject.Items.GetAll<WebReferencesDir> ().Any ()) {
var met = new WebReferencesDir (basePath.ParentDirectory);
dotNetProject.Items.Add (met);
}
DiscoveryClientResultCollection files = await Task.Run (() => {
WebReferenceUrl wru = dotNetProject.Items.GetAll<WebReferenceUrl> ().FirstOrDefault (m => m.RelPath.CanonicalPath == basePath);
if (wru == null) {
wru = new WebReferenceUrl (protocol.Url);
wru.RelPath = basePath;
dotNetProject.Items.Add (wru);
}
protocol.ResolveAll ();
return protocol.WriteAll (basePath, "Reference.map");
});
foreach (DiscoveryClientResult dr in files)
dotNetProject.AddFile (new FilePath (Path.GetFileName (dr.Filename)).ToAbsolute (basePath), BuildAction.None);
return Path.Combine (basePath, "Reference.map");
}
示例6: MigrateToProjectJson
static ProjectFile MigrateToProjectJson (DotNetProject project)
{
var projectJsonName = project.BaseDirectory.Combine ("project.json");
var projectJsonFile = new ProjectFile (projectJsonName, BuildAction.None);
bool isOpen = false;
JObject json;
ITextDocument file;
if (System.IO.File.Exists (projectJsonName)) {
file = TextFileProvider.Instance.GetTextEditorData (projectJsonFile.FilePath.ToString (), out isOpen);
using (var tr = file.CreateReader ())
using (var jr = new Newtonsoft.Json.JsonTextReader (tr)) {
json = (JObject)JToken.Load (jr);
}
} else {
file = TextEditorFactory.CreateNewDocument ();
file.FileName = projectJsonName;
file.Encoding = Encoding.UTF8;
json = new JObject (
new JProperty ("dependencies", new JObject ()),
new JProperty ("frameworks", new JObject())
);
}
var packagesConfigFile = project.GetProjectFile (project.BaseDirectory.Combine ("packages.config"));
if (packagesConfigFile != null) {
//NOTE: it might also be open and unsaved, but that's an unimportant edge case, ignore it
var configDoc = System.Xml.Linq.XDocument.Load (packagesConfigFile.FilePath);
if (configDoc.Root != null) {
var deps = (json ["dependencies"] as JObject) ?? ((JObject)(json ["dependencies"] = new JObject ()));
foreach (var packagelEl in configDoc.Root.Elements ("package")) {
deps [(string)packagelEl.Attribute ("id")] = (string)packagelEl.Attribute ("version");
}
}
}
var framework = GetPclProfileFullName (project.TargetFramework.Id) ?? NetStandardDefaultFramework;
json ["frameworks"] = new JObject (
new JProperty (framework, new JObject())
);
file.Text = json.ToString ();
if (!isOpen) {
file.Save ();
}
project.AddFile (projectJsonFile);
if (packagesConfigFile != null) {
project.Files.Remove (packagesConfigFile);
//we have to delete the packages.config, or the NuGet addin will try to retarget its packages
FileService.DeleteFile (packagesConfigFile.FilePath);
//remove the package refs nuget put in the file, project.json doesn't use those
project.References.RemoveRange (project.References.Where (IsFromPackage).ToArray ());
}
return projectJsonFile;
}