I have a MVC project and I want to split its output.
I want to copy all DLL files of this project (all content from the directory Bin) to one directory, and all Views (content of the directory View) to another output directory.
Settings of the project in VS 2010 does not allow me to do that simply.
I may specify only one Output path in settings and I can't specify which directories or file types to copy and where.
I think that I should leave the output directory to its default and then I need to split the output like the way I want using Post-build command.
Maybe someone did something similar and have any ideas how to do it best?
Right-click on the project node in Solution Explorer and select Properties. Expand the Build section, and select the Output subsection. Find the Base output path for C#, and type in the path to generate output to (absolute or relative to the root project directory), or choose Browse to browse to that folder instead.
"Copy to Output Directory" is the property of the files within a Visual Studio project, which defines if the file will be copied to the project's built path as it is. Coping the file as it is allows us to use relative path to files within the project.
The root of the uncompressed files tree is formed by a subfolder called Target System in the package's output folder; this corresponds to the Target System root node on the Files and folders project page. The other folders are created under the Target System subfolder.
The solution is
1) Set Output Path to directory where you want to copy your *dll files in project properties
2) Using post-build event to copy the content of the directory View to whatever directory you want
in my case
1) Output path i set to
..\MyDestinationProjectName\Bin\
2) Post-build event to copy View directory looks like this
xcopy "$(ProjectDir)\Views" "$(SolutionDir)\MyDestinationProjectName\Plugins\Views\$(ProjectName)\" /s /i /y
This should be a comment to @caiosm1005, but I lack points.
As indicated by @Riapp use the xcopy
command. A detailed explanation of the switches can be found here Xcopy and Xcopy32 Switches
My solution was:
xcopy "$(TargetDir)$(TargetFileName)" "C:\Mydestination" /s /i /y
The TargetDir
contained the full path to the compiled file and the TargetFileName
is the combination of TargetName
and TargetExt
.
Do not add a backslash separator after a directory variable e.g. $(TargetDir)\$(TargetFileName)
will fail because it will be interpreted as "TargetName**\\** TargetExt"
.
Once you look at the values in the Macros it should be easy to choose what you want.
Remember you need to do this on each project within your solution.
The build events can be found by right clicking on the project, selecting properties and then choosing the Build Events
tab.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With