Skip to content

Commit 77218f8

Browse files
authored
Create sdk-style-project-properties.md
1 parent 42ce90a commit 77218f8

File tree

1 file changed

+180
-0
lines changed

1 file changed

+180
-0
lines changed
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
---
2+
title: "Excel-DNA properties in SDK-style project files"
3+
---
4+
5+
The following project properties are recognized by the Excel-DNA build task, and can be used to customize the build output.
6+
By setting the appropriate properties, the old-style project .dna files are no longer needed when using SDK-style project files.
7+
As part of the build, if no .dna file is present in the project, the required .dna files will be created as build outputs, using the project properties.
8+
9+
```xml
10+
<PropertyGroup>
11+
12+
<!-- Base path to ExcelDna.AddIn.Tasks.dll, ExcelDnaPack.exe and ExcelDna.xll. -->
13+
<!-- Default value: ..\tools -->
14+
<ExcelDnaToolsPath></ExcelDnaToolsPath>
15+
16+
<!-- Path to ExcelDnaPack.exe. -->
17+
<!-- Default value: $(ExcelDnaTasksPath)ExcelDnaPack.exe -->
18+
<ExcelDnaPackExePath></ExcelDnaPackExePath>
19+
20+
<!-- Base path for .props location. -->
21+
<!-- Default value: $(MSBuildProjectDirectory) -->
22+
<ExcelDnaProjectPath></ExcelDnaProjectPath>
23+
24+
<!-- Path for configuration properties file location. -->
25+
<!-- Default value: $(ExcelDnaProjectPath)\Properties\ExcelDna.Build.props -->
26+
<ExcelDnaPropsFilePath></ExcelDnaPropsFilePath>
27+
28+
<!-- Enables creating executable Excel profile in launchSettings.json. -->
29+
<!-- Default value: true -->
30+
<RunExcelDnaSetDebuggerOptions></RunExcelDnaSetDebuggerOptions>
31+
32+
<!-- Enables creating executable Excel profile in launchSettings.json when building from a command line or alternative IDE. -->
33+
<!-- Default value: false -->
34+
<RunExcelDnaSetDebuggerOptionsOutsideVisualStudio></RunExcelDnaSetDebuggerOptionsOutsideVisualStudio>
35+
36+
<!-- Enables removing .dna, .xll from the build output folder on Build Clean. -->
37+
<!-- Default value: true -->
38+
<RunExcelDnaClean></RunExcelDnaClean>
39+
40+
<!-- Enables copying .dna, .xll to the build output folder on Build. -->
41+
<!-- Default value: true -->
42+
<RunExcelDnaBuild></RunExcelDnaBuild>
43+
44+
<!-- Enables creating packed add-in on Build. -->
45+
<!-- Default value: true -->
46+
<RunExcelDnaPack></RunExcelDnaPack>
47+
48+
<!-- Enables to have an .xll file with no packed assemblies in it. -->
49+
<!-- Default value: false -->
50+
<ExcelDnaUnpack></ExcelDnaUnpack>
51+
52+
<!-- The output directory for the 'published' add-in. Use %none% to put the files in the same output directory. -->
53+
<!-- Default value: publish for SDK-style projects, %none% for old-style projects -->
54+
<ExcelDnaPublishPath></ExcelDnaPublishPath>
55+
56+
<!-- Enables creating 32bit add-in. -->
57+
<!-- Default value: true -->
58+
<ExcelDnaCreate32BitAddIn></ExcelDnaCreate32BitAddIn>
59+
60+
<!-- Enables creating 64bit add-in. -->
61+
<!-- Default value: true -->
62+
<ExcelDnaCreate64BitAddIn></ExcelDnaCreate64BitAddIn>
63+
64+
<!-- 32bit add-in name suffix. -->
65+
<!-- Default value: none -->
66+
<ExcelDna32BitAddInSuffix></ExcelDna32BitAddInSuffix>
67+
68+
<!-- 64bit add-in name suffix. Use %none% for no suffix. -->
69+
<!-- Default value: 64 -->
70+
<ExcelDna64BitAddInSuffix></ExcelDna64BitAddInSuffix>
71+
72+
<!-- Packed add-in name suffix. Use %none% to make the name of the packed output file be the same as the unpacked name. -->
73+
<!-- Default value: -packed -->
74+
<ExcelDnaPackXllSuffix></ExcelDnaPackXllSuffix>
75+
76+
<!-- Explicit 32bit output file name -->
77+
<!-- Default value: empty -->
78+
<ExcelDnaPack32BitXllName></ExcelDnaPack32BitXllName>
79+
80+
<!-- Explicit 64bit output file name -->
81+
<!-- Default value: empty -->
82+
<ExcelDnaPack64BitXllName></ExcelDnaPack64BitXllName>
83+
84+
<!-- Enables packed add-in compression. -->
85+
<!-- Default value: true -->
86+
<ExcelDnaPackCompressResources></ExcelDnaPackCompressResources>
87+
88+
<!-- Enables multithreaded add-in packing. -->
89+
<!-- Default value: true -->
90+
<ExcelDnaPackRunMultithreaded></ExcelDnaPackRunMultithreaded>
91+
92+
<!-- Enables cross-platform resource packing implementation when executing on Windows. -->
93+
<!-- Default value: false -->
94+
<ExcelDnaPackManagedResourcePackingOnWindows></ExcelDnaPackManagedResourcePackingOnWindows>
95+
96+
<!-- Enables packing native libraries from .deps.json. -->
97+
<!-- Default value: true -->
98+
<ExcelDnaPackNativeLibraryDependencies></ExcelDnaPackNativeLibraryDependencies>
99+
100+
<!-- Enables packing managed assemblies from .deps.json. -->
101+
<!-- Default value: true -->
102+
<ExcelDnaPackManagedDependencies></ExcelDnaPackManagedDependencies>
103+
104+
<!-- Semicolon separated file names list to not pack from .deps.json. -->
105+
<!-- Default value: empty -->
106+
<ExcelDnaPackExcludeDependencies></ExcelDnaPackExcludeDependencies>
107+
108+
<!-- EXCEL.EXE path for debugging. -->
109+
<!-- Default value: auto detect -->
110+
<ExcelDnaExcelExePath></ExcelDnaExcelExePath>
111+
112+
<!-- Add-in file name for debugging. -->
113+
<!-- Default value: auto detect -->
114+
<ExcelDnaAddInForDebugging></ExcelDnaAddInForDebugging>
115+
116+
<!-- Add-in name for output files. -->
117+
<!-- Default value: $(ProjectName)-AddIn -->
118+
<ExcelAddInFileName></ExcelAddInFileName>
119+
120+
<!-- DnaLibrary Name in .dna. -->
121+
<!-- Default value: $(ProjectName) Add-In -->
122+
<ExcelAddInName></ExcelAddInName>
123+
124+
<!-- Semicolon separated references list to include in .dna. -->
125+
<!-- Default value: empty -->
126+
<ExcelAddInInclude></ExcelAddInInclude>
127+
128+
<!-- Semicolon separated external libraries to include in .dna. -->
129+
<!-- Default value: empty -->
130+
<ExcelAddInExports></ExcelAddInExports>
131+
132+
<!-- ExternalLibrary Path in .dna. -->
133+
<!-- Default value: $(TargetFileName) -->
134+
<ExcelAddInExternalLibraryPath></ExcelAddInExternalLibraryPath>
135+
136+
<!-- Enable/disable collectible AssemblyLoadContext for .NET 6. -->
137+
<!-- Default value: false -->
138+
<ExcelAddInDisableAssemblyContextUnload></ExcelAddInDisableAssemblyContextUnload>
139+
140+
<!-- Path to TlbExp.exe. E.g. "c:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\TlbExp.exe" or $(MSBuildProjectDirectory)\TlbExp.exe.-->
141+
<!-- Default value: empty -->
142+
<ExcelAddInTlbExp></ExcelAddInTlbExp>
143+
144+
<!-- Enable/disable .tlb file creation. -->
145+
<!-- Default value: false -->
146+
<ExcelAddInTlbCreate></ExcelAddInTlbCreate>
147+
148+
<!-- Path to signtool.exe. E.g. "c:\Program Files\Microsoft SDKs\Windows\8.1\bin\x64\signtool.exe" or $(MSBuildProjectDirectory)\signtool.exe -->
149+
<!-- Default value: empty -->
150+
<ExcelAddInSignTool></ExcelAddInSignTool>
151+
152+
<!-- Options for signtool.exe. E.g. /f "$(MSBuildProjectDirectory)\Contoso.pfx" /p 12345678 -->
153+
<!-- Default value: empty -->
154+
<ExcelAddInSignOptions></ExcelAddInSignOptions>
155+
156+
<!-- Replace XLL version information with data read from ExternalLibrary assembly. -->
157+
<!-- Default value: false -->
158+
<ExcelAddInUseVersionAsOutputVersion></ExcelAddInUseVersionAsOutputVersion>
159+
160+
<!-- Prevents every static public function from becomming a UDF, they will need an explicit [ExcelFunction] annotation. -->
161+
<!-- Default value: false -->
162+
<ExcelAddInExplicitExports></ExcelAddInExplicitExports>
163+
164+
<!-- Prevents automatic registration of functions and commands. -->
165+
<!-- Default value: false -->
166+
<ExcelAddInExplicitRegistration></ExcelAddInExplicitRegistration>
167+
168+
<!-- Enable/disable COM Server support. -->
169+
<!-- Default value: false -->
170+
<ExcelAddInComServer></ExcelAddInComServer>
171+
172+
<!-- We don't need the extra 'ref' directory and reference assemblies for the Excel add-in -->
173+
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
174+
175+
<!-- We need all dependencies to be copied to the output directory, as-if we are an 'application' and not a 'library'. This property also sets the CopyLockFileAssemblies property to true. -->
176+
<EnableDynamicLoading>true</EnableDynamicLoading>
177+
178+
</PropertyGroup>
179+
180+
```

0 commit comments

Comments
 (0)