2017-03-03 1 views
0

Irgendwie unterscheiden sich meine Lösung und mein Projekt hinsichtlich ihres Path/FullPath.Ist es eine schlechte Idee, dass meine Lösung und mein Projekt an verschiedenen Orten gespeichert werden?

Die Path-Eigenschaft meiner Lösung ("customerreportingnet") ist:

C:\Users\cshannon\Documents\Visual Studio 2013\Projects\customerreportingnet\customerreportingnet.sln 

Das einzige Projekt unter dieser Lösung ist eine Webseite ("http://localhost/EMS/customerreportingnet/").

Die FullPath Website-Projekt ist dies:

C:\EnhancedMonthlySalesReporting\customerreportingnet\customerreportingnet 

Warum wäre die Lösung und Projektstandort unterscheiden?

Habe ich beim Setup etwas falsch gemacht? Ich habe die Dateien aus einer ZIP-Datei und extrahiert sie auf C: \ EnhancedMonthlySalesReporting \

Ich habe dann ein virtuelles Verzeichnis in IIS, kartiert es in C: \ EnhancedMonthlySalesReporting \ customerreportingnet \ customerreportingnet, was ihm den Alias ​​„EMS ".

dann in VS öffne ich die Webseite (Lösung/Projekt) so:

Datei> Öffnen Webseite ...

und dann IIS Ich öffne> EMS

Wenn ich das tue, Ich sehe keine Dateien unter dem "Projekt" - alles, was im Projektmappen-Explorer sichtbar ist, sind nur die Projekt- und Projektnamen - keine Unterordner oder Dateien darunter. Aber wenn ich mit der rechten Maustaste auf die Lösung "customerreportingnet" klicke und "Open Web Site" wähle, dann antworte OK auf "Open the Website (das schließt die aktuelle Lösung)" alles ist relativ gut - ich kann mit der rechten Maustaste auf das Projekt klicken ("http://localhost/EMS/customerreportingnet/"), wählen Sie Im Browser anzeigen (Internet Explorer) und die Site wird ausgeführt.

Die einzigen Dateien im Verzeichnis C: \ Benutzer \ cshannon \ Dokumente Visual Studio 2013 \ Projects \ \ customerreportingnet \ sind:

customerreportingnet.sln customerreportingnet.v12.suo

C: \ EnhancedMonthlySalesReporting \ customerreportingnet \ customerreportingnet hat diese Dateien und viele weitere (sowie beaucoup-Ordner).

Sollte ich versuchen, den Lösungsweg zu C: \ EnhancedMonthlySalesReporting \ customerreportingnet \ customerreportingnet zurückzusetzen, oder ist das nur eine Kuriosität, aber kein Problem?

Wenn ja, ist das so einfach, wie nur diesen Eigenschaftswert zu ändern, oder wird das die Dinge durcheinander bringen?

Antwort

1

Nachdem Sie Ihren Code extrahiert und geöffnet, um das Projekt in Visual Studio.

Visual Studio erstellt automatisch eine Lösungsdatei, wenn Sie ein Projekt öffnen (Sie können auch eine Lösungsdatei direkt öffnen). Nachdem Sie auf save all geklickt oder Ihre Lösungsdatei gespeichert haben, wird sie am vorherigen Speicherort oder am Standardspeicherort gespeichert.

Da Sie nicht die Datei gespeichert haben vor, Visual Studio wird es in das Standardverzeichnis speichern:

C:\Users\cshannon\Documents\Visual Studio 2013\Projects\[ProjName]\[ProjName].sln 

Wenn Sie andere Entwickler wollen einfach in der Lage sein, Ihr Projekt zu öffnen. (Insbesondere, wenn Sie mehrere Projekte in einer Lösung haben), möchten Sie die Lösungsdatei in den Projektpfad einfügen. Ansonsten muss jeder Entwickler diese Lösungsdatei selbst erstellen, was lästig und umständlich ist.

Seit Dotnet Kern der Best-Practice-Dateistruktur ist dies:

/root 
    /src <== contians all the projects per folder 
     /project1 
     /project1.csproj 
     /etc* 
     /project2 
    /[ANameForSolution].sln (so directly inside the proj folder, next to src) 

Der alte Gewohnheit Menschen Gebrauch war flach:

/root 
    /project1 
    /project2 
    /YourSolution.sln 

Die bewährte Methode, alles zu /src bewegen, weil in letzter Zeit ein root des Projekts hat bereits viele (config) Dateien und auf diese Weise können Sie den root etwas sauberer halten.

2

Ist es eine schlechte Idee für meine Lösung und Projekt in separaten Standorten gespeichert werden?

  • solution A ist ein "Behälter" für Projekte. Wo sie in Ihrem lokalen Dateisystem sind, spielt keine Rolle. In diesem Zusammenhang ist es also "gut".

    Es ist nicht ungewöhnlich, einen Lösungskontext zu haben, der aus einigen "Projekten besteht, die Sie zuvor gemacht haben".So können Sie eine "neue" Lösung organisieren, die sich aus Projekten zusammensetzt, die anderswo (von einer anderen "Lösung") zusammen mit neuen Elementen liegen.

  • jedoch, sobald Sie in Source Control bekommen, ob es TFS oder GIT, dann wird es gleichgültig - sie (Projekte in einer Lösung) haben im gleichen übergeordneten Ordner leicht behandelt werden. In diesem Zusammenhang ist es "schlecht".

    TLDR; Es gibt immer noch Möglichkeiten, die Steuerung von "Projekten in verschiedenen Ordnern" effektiv zu steuern - jedes ist ein eigenes separates "Repository". Aber Sie werden manuell müssen/separat Ihre Synchronisierung tun, Verschmelzung usw.

Wenn ich nach Ihrem Beitrag richtig, ich glaube, was Sie suchen ist Add..., nicht Open... - Sie wollen Fügen Sie ein bestehendes Projekt oder eine Website zu einer Lösung hinzu.

Je nachdem, was Sie nach, und welche Dateien Sie es zu tun haben:

  • , wenn Sie eine Project in der ZIP-Datei haben, dann können Sie Add Existing Project, und so weiter ...

Nicht sicher, warum Sie tun mussten, was Sie in IIS getan haben - Sie können das Debuggen in Visual Studio (IIS Express) durchführen.

Alternativ können Sie Ihre Website/Anwendung von Visual Studio und Ziel eines lokalen Dateisystemordners Publish, die Sie dann in IIS festlegen (Local IIS falls installiert) - auf diese Weise haben Sie eine Art „dev“ (VS) und "Staging" (veröffentlichen Sie den Ordner in IIS zugeordnet) Umgebung auf Ihrem lokalen Rechner.

HTH ...

+0

Danke; Ich habe es so gemacht (Datei> Website öffnen ...), weil dies die Anweisungen waren, die mir die Person gab, die mir das Projekt überreichte. Ich weiß, dass egal, wie ich es mache, ich auf Herausforderungen stoße, und wenn ich von seinen genauen Anweisungen abweichen werde, wird er sich berechtigt fühlen zu sagen, dass es deshalb nicht funktioniert. Ich habe versucht, es einfach als Lösung in VS zu öffnen, habe aber auch damit Probleme. Wenn Sie an dieser Geschichte interessiert sind, sehen Sie http://stackoverflow.com/questions/42450617/why-is-my-file-sunsed-unable-to-be-read-due-to-insufficient-permissions-htt –

+1

@B. ClayShannon Eine Website oder ein Projekt ist einfach das, was sie sind (keine Magie). In Ihren Schritten in IIS oben, anstatt ein virtuelles Verzeichnis hinzuzufügen, versuchen Sie 'Neue Website hinzufügen ', so dass es zu einer eigenen Anwendung wird (die Sie selbst verwalten können - App-Pool usw.) statt einer" untergeordneten Anwendung "(von irgendein Elternteil). Es sei denn natürlich, dass es ein "Kind" einer Eltern-App ist, die bereits auf Ihrem lokalen Computer "installiert" ist. – EdSF

+0

Würden Sie auf diese Weise eine Website hinzufügen, die auf die gleichen Dateien verweist, um Dinge zu verschmelzen? Das Letzte, was ich tun möchte, ist, den kleinen Fortschritt, den ich bereits gemacht habe, zu verderben. –

Verwandte Themen