|
| 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